Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. As with any long-standing software project, technical debt will accumulate, and should be taken care of when possible. In this session, we talked about sources of Tor's technical debt, when and how to tackle it, and coding standards for the future to help not accumulate technical debt.
  2.  
  3. We talked about using tools to analyze the complexity within the current code base, and how to reduce interdependencies. Nick talked about a call graph tool he has been working on, and we talked about other potential candidate tools. We decided that we didn't want to use something heavyweight that requires adding annotations to the code.
  4.  
  5. With any software project, balancing adding new features versus refactoring existing code is always tough. We talked about how when adding new features, this is an opportunity to refactor existing code as well.
  6.  
  7. We also focused more on coding standards to reduce tech debt in the future. Some things we discussed are:
  8.  
  9. - Limiting function size to what can fit within a screen (50-60 lines)
  10.  
  11. - Limiting test function size similarly, and using contexting to group similar tests
  12.  
  13. - Limiting module size, focusing on single responsibility
  14.  
  15. - Reducing what is available publicly. or.h is a good candidate for refactoring, a lot of its structures can be made private within modules
  16.  
  17. - Tests should be added for new functionality, and when changing legacy functionality
  18.  
  19. - Reducing size of commits, which should help when reviewing code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement