Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Generally what you describe is the natural tendency of any code base to increase entropy. It happens in every project by the virtue of it being developed and maintained. To combat this steady increase I would suggest the following:</p> <ol> <li><p>Someone on the team with sufficient authority has to care. This is the most important part. If nobody cares, it won't get done. This point seems obvious, but it is not.</p></li> <li><p>Set standards and best practices. Most languages have a book written by someone about best practices. For example in PERL there is a very good Perl Best Practices book by Damain Conway. Unless you do this, every person on the team has his own way to write code, name variables, comment and so forth.</p></li> <li><p>Code Reviews. You will need a checklist for code reviews. It is not enough that your change works, it has to conform to the list of best practices as well. We set up a two tier code reviews, first tier are peer code reviews and second tier is a release manager who cares about the code quality.</p></li> <li><p>Design Reviews. When bug or enhancement is filled in bug tracking system, it is important for it to get reviewed by a change control board, that decides on scheduling of the work and also about who needs to review the design of the work. This is where you maintain the code abstractions and make sure the change will conform to design documents and goals for the project. The software architect of the team or a lead designer should be part of the CCB.</p></li> <li><p>Checkin code quality triggers. Some best practices can be directly enforced by code. Write small scripts that check your code for things like formating, use of tabs/spaces and such. This will help you think about code quality in a different way.</p></li> </ol> <p>Some <a href="http://www.pragprog.com/the-pragmatic-programmer/extracts/software-entropy" rel="nofollow noreferrer">reading</a> for a reference.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload