Aurelijus Banelis
pair programming
unit tests
acceptance tests
seconds
minutes
hours
--------------------------
Tools & IDE
Fatal error: Call to a member function
getPrice() on null
Catchable fatal error: Argument 1 passed
to vat() must implement interface Currency
Fatal error: Call to undefined method Article::isSellabl()
Notice: Undefined index: bruto
returns null
type hinting
typing mistakes
typing mistakes
especially in arrays!
Easy
Extensive
JAVA
DRY
@var @param @return
/** @method bool t(string $a) */
class A {}
(new A())->t('works');
@method
@mixin
@SuppressWarnings(PHPMD)
trait T { var $c; var $d; }
/** @mixin T */
$a=json_decode('{"c":1,"d":2}');
$a->b
if ("never" == "happens") {
class a_parent extends oxArticle {}
}
phalcon-devtools/ide/2.0.0
use Phalcon\Mvc\Controller;
$STATIC_METHOD_TYPES = array(
oxNew('') => array(
'oxcmp_basket' instanceof \oxcmp_basket,
'oxwArticleBox' instanceof \oxwArticleBox,
Program
Structure
Interface
position
""
[""]
a()[""]
a()
function a()
/** @return [...
What will make you a good developer
is the tools
/**
* @method string ask(callable $presenter)
*/