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

时间:2010-08-29 03:37:17

标签: coding-style

很抱歉在这里发布这个世俗的问题,但我需要帮助!

我必须为一些人做一个小时的软件最佳实践培训 我公司的程序员。观众是新人几年 体验人。

请问各位我可以提供一些相关主题吗?

我能想到以下几点:

1)遵循编码标准,缩进的重要性 2)正确命名文件,变量,函数,类,表, 列,视图和所有其他工件 3)为您的应用程序分层 - 每个层都必须针对特定的 关心 4)可重用实用程序类的抽象常见内容

任何帮助将不胜感激 (对这篇文章的积极回应& I我保证会为此做出贡献 回复至少10个主题的社区!)

5 个答案:

答案 0 :(得分:2)

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

  • 自动化,自动化,自动化:无聊,重复性任务很多更适合自动脚本,而不是让它们需要用户注意。例如,大多数编码标准(所有可以“机械”检查)必须通过脚本自动检查(“lint-like”是它们的经典名称),以便将代码提交到存储库(如果没有良好的源代码版本控制系统放弃其他所有内容并将所有内容集中在其上,当然,因为它是最重要的工具。)
  • 测试:自动化,自动重复,单元测试和集成测试,以及持续构建工具,以便始终运行它们,这是防止代码库意外破坏的绝佳保障。
  • 强制性,轻量级的代码审查(或结对编程):没有其他人眼检查并批准它的代码库中没有代码应该进入代码库 - 不要复制“类似lint”的部分,而是检查那些太难以自动检查的内容 - 标识符是否清晰且适当,是否可以重构可重用的内容,& c

    • 正确使用评论:他们不应该重复代码已经明确地告诉任何掌握语言的人 - 他们应该添加有用的,简洁的信息,否则不会立即得到方便。在C ......中,这是一个好的,好的,最好的例子:

    / *糟糕 - 事实上,非常糟糕 / i + = k; / 以k * /

    递增i

    / *好,或至少体面;-) / i + = k; / 小部件数量由thingamajig count * /

    增长

    / *最好* / widget_count + = thingamajig_count;

(在最后一种情况下不存在任何评论也不需要 - 总是可以让代码和标识符相当如此清晰,以至于绝对不需要评论,但是,如果可行的话,这绝对是最好的! - )。

答案 1 :(得分:0)

This SO link可能有你想要的最佳答案。其中一个意见是:

  

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

答案 2 :(得分:0)

您的主题已涵盖相当广泛的领域。但是,进入大量编程细节可能会导致人们认为软件开发最佳实践仅涉及编码。

使用经过仔细编写的提交消息(经过测试的代码)的常规提交同样重要。这导致了下一个主题。测试。测试你的代码,反思它。输入所有内容(至少在C(++)中)。

答案 3 :(得分:0)

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

  1. 版本控制策略 - 分支/合并/签入 - 提交策略等
  2. 评论标准 - 基于您在申请中所遵循的内容
  3. 重构
  4. 单元测试基础知识 - 尤其适用于新生。

答案 4 :(得分:0)

如果您希望您的培训课程产生重大影响,那么您希望坚持可以清楚地传达每个主题的好处的主题,而不仅仅是给他们抽象的规则。有关项目如何失败的实际数据和战争故事,因为某些代码被误读,错误太难找到,其他不良做法等等,对于某些百分比的学生来说,比一堆没有解释的指导方针更令人难忘。