Abstract: Attendees will need to install Eclipse/ConQat on their laptops. You can download eclipse with conqat plugin enabled from the ConQat site:
https://www.cqse.eu/en/products/conqat/install/ Download it and make sure it runs smoothly before the session
Code clones (duplicates) is one of the most painful enemies of clean code. Teams transitioning to Agile find it very hectic to chase code clones and fix scattered chunks of unstructured business logic. What's interesting is that the effect of removing code clones on enhancing quality is guaranteed. Guess what? if you managed to remove 100 inconsistent code clones from legacy code, then congratulations, you have removed 18 dormant production bugs! (*)
In this session, we will study the levels/types of code clones: exact, similar, and gapped clones. We will learn how to detect each one of them using the powerful
ConQat tool (works with Java, C#, PHP, and 16 other languages; as well as natural language text files). Also, we will study the behavior of developers duplicating code, and will introduce a simple and effective technique to continuously inspect and detect code clones using Jenkins and ConQat engine.
This session is useful for those struggling with legacy code, as well as those developing code in greenfield or brownfield projects. The insights and tools are very helpful to refactor cluttered code and to keep clean code clean!
(*) Reference:
https://www.cqse.eu/publications/2009-do-code-clones-matter.pdf Learning Outcomes: - Learn a systematic and stepwise approach to taming poor legacy code
- Distinguish types of code clones and learn how to detect each of them
- Learn techniques to prevent code duplication through continuous inspection