Coding best practices: Difference between revisions

Content deleted Content added
m cleaning up formatting
m top: add citation re 90-90 rule
Line 6:
'''Coding best practices''' or '''programming best practices''' are a set of informal rules (''[[best practice]]s'') that many [[software developer]]s in [[computer programming]] follow to improve [[software quality]].<ref>{{cite book|title=Code Complete|url=https://archive.org/details/codecomplete0000mcco|url-access=registration|edition=Second|last=McConnell|first=Steve|year=2004|publisher=Microsoft Press|isbn=0-7356-1967-0}}</ref> Many computer programs remain in use for long periods of time,<ref>{{cite book|title=Software Engineering|edition=Seventh|last=Sommerville|first=Ian|year=2004|publisher=Pearson|isbn=0-321-21026-3|page=38}}</ref> so any rules need to facilitate both initial development and subsequent maintenance and enhancement of [[source code]] by people other than the original authors.
 
In the [[ninety–ninety rule]], Tom Cargill is credited with an explanation as to why programming projects often run late: <!-- these do add to 180%, and are meant to (=late project). See linked Ninety-ninety rule --> "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."<ref name="Bentley1985">{{Citationcite neededjournal|datelast=OctoberBentley|first=Jon|year=1985|title=Programming 2023pearls: Bumper-Sticker Computer Science|journal=Communications of the ACM|volume=28|issue=9|pages=896–901|issn=0001-0782|doi=10.1145/4284.315122|s2cid=5832776|doi-access=free}} </ref>Any guidance which can redress this lack of foresight is worth considering.
 
The size of a project or program has a significant effect on error rates, programmer productivity, and the amount of management needed.<ref>{{cite book|title=Code Complete|url=https://archive.org/details/codecomplete0000mcco|url-access=registration|edition=Second|last=McConnell|first=Steve|year=2004|publisher=Microsoft Press|isbn=0-7356-1967-0|pages=[https://archive.org/details/codecomplete0000mcco/page/649 649–659]}}</ref>