Industrial XP -> Coding Standard

Coding Standard

Follow a standard across the team, so code can be read easily and consistently

Coding standards keep the team from getting distracted by useless trifles
-- Ken Auer in Extreme Programming Applied

When programmers write code in different dialects, they make it easy to affix blame when a certain section of the system fails. They also make it hard for a random programmer on the team to be able to dive into the code and fix what needs fixing. Extreme Programming shifts the focus from affixing blame to accepting responsibility. The entire team is responsible for the system, and it is everyone's job to ensure that problems are fixed quickly and efficiently.

When all team members write code in the same dialect, no part of the system would look alien, thus enabling programmers to practice collective ownership. They would then be comfortable to fix problems in code written by other programmers on the team.

Coding Standard is best-enforced and complemented by pairing. It is not just important to have a coding standard, its also important to have a good one. A good coding standard will:

  • clarify rather than obfuscate
  • promote intention-revealing code
  • allow programs to look as close to natural language as possible
  • incorporate coding best practices

For Coding Standards to be treated seriously, they must not be long. The photograph above shows a poster that contains the entire coding standard formulated by a team. Such a poster then becomes an information radiator that should be easily accessible in the open workspace.

Smart IDEs these days allow you to specify preferences that support your coding standard and export it. You can check in these preferences into your project repository, to make it available to all developers on the project.

Further Reading

Coding Conventions, on c2.com

Industrial XP logo
 
Values & Practices
?/b>
?/b>
?/b> Continuous Risk Management
?/b> Project Chartering
?/b> Project Community
?/b> Test-Driven Management
?/b> Sustainable Pace
?/b> Planning Game
?/b> Storytelling
?/b> Storytesting
?/b> Frequent Releases
?/b> Small Teams
?/b> Sitting Together
?/b> Continuous Learning
?/b> Iterative Usability
?/b> Evolutionary Design
?/b>
?/b> Refactoring
?/b> Domain-Driven Design
?/b> Pairing
?/b> Continuous Integration
?/b> Collective Ownership
?/b> Coding Standard
?/b> Retrospectives



 
Send mail to webmaster@industriallogic.com with questions or comments about this web site.
Copyright ?2004 Industrial Logic, Inc. All Rights Reserved.
万丰彩票 临海市 湖北省 钟祥市 大同市 兰溪市 湘潭市 松滋市 铁力市 彭州市 厦门市 宜春市 邹城市 彭州市 山东省 金昌市 平度市 海南省 双滦区 忻州市 葫芦岛市 十堰市 平度市 潞城市 临沂市 阜新市 普兰店市 汉川市 兴城市 都匀市 枣庄市 安达市 烟台市 高邮市 梅河口市 江油市 白银市 丰城市 孝义市 石首市 池州市 葫芦岛市 福建省 金华市 梅河口市 胶州市 上虞市 大石桥市 江阴市 吉首市 大庆市 铁力市 深州市 山西省 厦门市 项城市 永州市 原平市 明光市 耒阳市