Coding style 所需的软件最佳实践培训主题

Coding style 所需的软件最佳实践培训主题,coding-style,Coding Style,很抱歉在这里发布这个平凡的问题,但我需要帮助 我必须为一些人进行1小时的软件最佳实践培训 我公司的程序员。观众是几年前的新生 有经验的家伙 你们能给我推荐一些相关的话题吗 我可以想到以下几点: 1) 遵循编码标准的重要性,缩进 2) 文件、变量、函数、类、表的正确命名, 列、视图和所有其他构件 3) 应用程序的层-每个层必须针对特定的 涉及 4) 将公共内容抽象到可重用的实用程序类中 任何帮助都将不胜感激 (对这篇文章的积极回应&我保证我会为之做出贡献 社区通过回复至少10个线程!)可能有你想要

很抱歉在这里发布这个平凡的问题,但我需要帮助

我必须为一些人进行1小时的软件最佳实践培训 我公司的程序员。观众是几年前的新生 有经验的家伙

你们能给我推荐一些相关的话题吗

我可以想到以下几点:

1) 遵循编码标准的重要性,缩进 2) 文件、变量、函数、类、表的正确命名, 列、视图和所有其他构件 3) 应用程序的层-每个层必须针对特定的 涉及 4) 将公共内容抽象到可重用的实用程序类中

任何帮助都将不胜感激 (对这篇文章的积极回应&我保证我会为之做出贡献 社区通过回复至少10个线程!)

可能有你想要的最佳答案。其中一种意见是:

你应该做的唯一“最佳实践” 一直使用就是“使用你的 大脑”


你的话题已经涵盖了相当广泛的领域。但是深入到编程细节中,可能会给人留下这样的印象,即软件开发最佳实践只与编码有关


定期提交和仔细编写的提交消息(测试代码)同样重要。这就引出了下一个话题。测试。测试你的代码,反思它。Typedef所有内容(至少用C++)。

除了您已经列出的内容之外,我还将介绍:-

  • 版本控制策略-分支/合并/签入-提交策略等
  • 评论标准-基于您在应用程序中遵循的任何标准
  • 重构
  • 单元测试的基础知识-尤其是对于新生

  • 你提到的话题很好。如果你只想简单地提及每一个,因此想要添加其他的,你可以考虑一些(没有特别的顺序):

    • 自动化、自动化、自动化:枯燥、重复的任务比让它们引起用户注意更适合自动脚本。例如,在将代码提交到存储库时,大多数编码标准(所有可以“机械”检查的标准)都必须由脚本自动检查(“lint-like”是它们的经典名称)(如果你没有一个好的源代码版本控制系统,那么放下所有其他的东西,把所有的精力都放在上面,当然,因为它是唯一最重要的工具)
    • 测试:自动化的、可自动重复的单元测试和集成测试,以及始终运行它们的连续构建工具,是防止代码库意外中断的极好保障
    • 强制性的、轻量级的代码审查(或成对编程):在没有其他人的眼睛检查和批准的情况下,任何代码都不应该进入代码库——不要复制“lint-like”部分,但要检查那些太难自动检查的东西——标识符是否清晰和适当,可重用的东西的重构是否正确,&c

      • 注释的正确使用:他们不应该重复代码已经明确地告诉任何掌握该语言的人的内容——他们应该添加有用的、简洁的信息,否则就不会立即方便。C中的ga坏、好、最好的示例:
      /*糟糕——事实上,非常糟糕/ i+=k;/i增加k*/

      /*好的,或者至少是像样的;-)/ i+=k;/小部件计数按thingamajig计数增长*/

      /*最好的*/ 小部件计数+=thingamajig计数


    (在最后一种情况下,不存在注释,也不需要注释——代码和标识符并非总是清晰到完全不需要注释,但在可行的情况下,这绝对是最好的!-)。

    如果您希望您的培训课程产生显著效果,然后你要坚持主题,在那里你可以清楚地传达每个主题的好处,而不仅仅是给他们抽象的规则。对于某些百分比的学生来说,由于一些代码被误读、错误太难发现、其他不良做法等导致项目失败的实际数据和战争故事比一堆没有解释的指导方针更令人难忘。

    我的意思是没有冒犯,但是,如果你想不出重要的最佳实践来演示,又没有准备演示文稿所需的资源,那么你可能是做这种演示的错误人选。当我阅读关于最佳实践的文章或参加关于这些实践的演示时,我希望作者或演示者对他所演示的内容有经验。考虑一下你认为什么是重要的,设计模式,实践,以及其他你发现有用的东西。如果你这样做了,你的演讲将会更加有趣和有说服力。这里已经列出了一个很好的编码注意事项列表:非常同意!但是还有一个账单要付Alex谢谢你伙计。非常感谢..战争故事:-)像战略伙伴..干杯