Difference between revisions of "Code Reduction"

From BRL-CAD
(code reduction)
 
m (Add Past Efforts)
Line 16: Line 16:
 
* Ability to write regression tests
 
* Ability to write regression tests
 
* Ability to refactor C/C++
 
* Ability to refactor C/C++
 +
 +
=Past Efforts=
 +
*[http://brlcad.org/wiki/User:Ksuzee/Reports GSOC12]

Revision as of 14:37, 4 March 2015

BRL-CAD is a large code base with more than a million lines of code across hundreds of binaries and dozens of libraries. Improving maintainability is an active requirement which includes identifying code duplication and refactoring accordingly.

This project entails identifying common patterns of duplication throughout the code (there are tools that can help automate this). Once identified, the code can be carefully refactored into new routines, common functionality, library code, etc.

Testing is required to make sure refactoring was correct and functionality was not changed. Test-driven development would be helpful here.

References

Requirements

  • Ability to write regression tests
  • Ability to refactor C/C++

Past Efforts