From legacy code to continuous integration

Preview:

Citation preview

What is legacy code ?

The term can also mean code inserted into modern software for the purpose of maintaining an older or previously supported feature.

http://en.wikipedia.org/wiki/Legacy_code

More recently, the software engineering community has developed other interpretations for the term legacy code. Among the most prevalent are source code inherited from someone else and source code inherited from an older version of the software. Michael Feathers[1] introduced a definition of legacy code as code without tests, which reflects the perspective of legacy code being difficult to work with in part due to a lack of automated regression tests. He also defined Characterization Tests to start putting legacy code under test.

http://en.wikipedia.org/wiki/Legacy_code

What is Continuous Integration ?

Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day.

http://en.wikipedia.org/wiki/Continuous_integration

Is it important ?

1) PIECES/O.O.P

Break it in pieces then make it work again

W.T.F ?

1

23

4

2) Unit Test

3) Automation

https://github.com/squizlabs/PHP_CodeSniffer

https://github.com/sebastianbergmann/phpcpd

exit("Thank you");

<?php

Recommended