Jus*_*ost 8 language-agnostic user-interface coding-style
什么是编码指南的好例子.我并不是在寻找一种特定于单一语言的东西.
但是,当我编写编码指南时,我应该做什么/评估?例如指南的灵活性以及决策应留给程序员或其他人的程度,甚至是指南预先决定的程度.
我正在制定的这套指南应涵盖广泛的主题:评论,数据库设计,甚至一些用户界面指南.
Tom*_*Tom 24
编码标准通常有三个目的:
显然,第三个是浪费其他人的时间,但你确实需要考虑它,特别是你不要走那条路.
话虽如此,我已经注意到了一些确定的事情,而且没有.
m_member,维护程序员应该使用m_member2而不是应用任何其它标准(如member2_或m_lpcstrMember2或其他).本地一致性是王道.最后,最重要的是在同行之间进行定期的代码审查.鼓励人们在看到"代码味道"时说出来.还要确保人们意识到建设性的代码批评并不是个人的 - 来源是团队中永远的共享,它不仅仅属于原作者.根据我的经验,最令人发指的问题是任何编码指南都无法解决的设计问题.软件设计仍然是一种艺术形式(无论好坏),而且大脑池比单一大脑要好得多.
if( !codingGuidelines.Followed)
{
reason = programmer.WhyNot();
if( reason.Acceptable)
{
codingGuidelines.Integrate( reason);
}
else
{
team.GiveAssKicking(programmer);
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个相当开放的问题,答案同样公开:
每项指南的实施成本都应低于其带来的好处.
要小心,因为等式的每一边都有一些隐藏的部分.
实施成本可以包括排除完美的替代品,扼杀创新和创新,并鼓励代码审查堕落,突出显示风格的轻微违规,而不是解决实际问题.
对于忙碌的开发人员而言,收益的价值可能是无形的(因而令人沮丧),但可能会导致您的组织品牌变得更强大或者让新员工更快地投入到项目中 - 这可能会超过遵守的小增量成本.