From legacy code to continuous integration

36

Transcript of From legacy code to continuous integration

Page 1: From legacy code to continuous integration
Page 2: From legacy code to continuous integration

What is legacy code ?

Page 4: From legacy code to continuous integration

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

Page 5: From legacy code to continuous integration

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

Page 6: From legacy code to continuous integration
Page 7: From legacy code to continuous integration

What is Continuous Integration ?

Page 8: From legacy code to 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

Page 9: From legacy code to continuous integration

Is it important ?

Page 10: From legacy code to continuous integration
Page 11: From legacy code to continuous integration
Page 12: From legacy code to continuous integration
Page 13: From legacy code to continuous integration
Page 14: From legacy code to continuous integration
Page 15: From legacy code to continuous integration
Page 16: From legacy code to continuous integration

1) PIECES/O.O.P

Page 17: From legacy code to continuous integration

Break it in pieces then make it work again

Page 18: From legacy code to continuous integration

W.T.F ?

Page 19: From legacy code to continuous integration
Page 20: From legacy code to continuous integration
Page 21: From legacy code to continuous integration

1

23

4

Page 22: From legacy code to continuous integration
Page 23: From legacy code to continuous integration
Page 24: From legacy code to continuous integration
Page 25: From legacy code to continuous integration
Page 26: From legacy code to continuous integration

2) Unit Test

Page 27: From legacy code to continuous integration
Page 28: From legacy code to continuous integration
Page 29: From legacy code to continuous integration

3) Automation

Page 30: From legacy code to continuous integration

https://github.com/squizlabs/PHP_CodeSniffer

Page 31: From legacy code to continuous integration
Page 32: From legacy code to continuous integration

https://github.com/sebastianbergmann/phpcpd

Page 33: From legacy code to continuous integration
Page 34: From legacy code to continuous integration
Page 35: From legacy code to continuous integration
Page 36: From legacy code to continuous integration

exit("Thank you");

<?php