26. Thank you Anonymous for your contribution!
Copy & Paste Code
$a = 23;
if ($a == 42)
for ($i = 0; $i < $a; $i++)
doSomething;
elseif (isArray($a))
for each ($a as $b)
doSame;
else
28. Copy & Paste
https://github.com/...
A kitten dies!
Changes need to happen on multiple
places
Error-proneness!
You don’t think! Coding is thinking!
phpcpd
30. Clean code
It is not enough
for the code to work
(Robert C. Martin)
31. Avoiding technical debt
Refactoring
Continuous refactoring
and reviewing.
Maintain your code
base!
Tests and TDD
(Automated) Tests help
us writing better and
reusable code
Philosophy
It’s not about code, it’s
about thinking and
honouring your own
work!
33. Why?
Dependencies have to be clearly defined (Testability)
Dependencies should not be created in methods, but in the constructor. So they
can easily exchanged against Mocks and Stubs
Single Responsibility
38. Why automated testing?
Repeatable and scalable
Detect issues for every pull request
Saves time and helps you trusting your own code
Multiple PHP Versions, Browsers
41. Call for volunteers!
Joomla! is looking for new members, which want to make
Joomla! Better!
Joomla! Is more than just an CMS, it’s the love, the spirit 1000s
of people have put into it.