2010-08-29 75 views
3

对不起,在这里发布这个平凡的问题,但我需要帮助!软件最佳实践需要培训主题

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

你们可以请你提出一些我可以覆盖的相关话题吗?

我能想到以下几点:

1)的下列编码标准,压痕 2)文件,变量,函数,类,表 列,视图和所有其他文物的正确命名重要性 3 )层应用程序 - 每层都必须解决一个特定的 关注 4)摘要常见的东西成可重用的工具类

任何帮助,将不胜感激 (这个职位&是肯定的,我保证ç通过回复至少10条主题归属于 社区!)

+1

我的意思是没有犯罪,但如果你想不出来呈现重要的最佳做法,并没有准备演示所需的资源,你可能是错的人给这样一个介绍。当我阅读有关最佳做法的文章或参加有关这些文章的演示文稿时,我希望作者或演示者对他所呈现的内容有经验。考虑谈论你认为重要的事情,以及设计模式,实践和其他你认为有用的事情。如果你这样做,你的演讲会更加有趣和令人信服。 – 2010-08-29 03:56:06

+0

编码** DON'TS **的一个很好的列表已经在这里覆盖:http://stackoverflow.com/questions/114342/what-are-code-smells-what-is-the-best-way-to -correct-them – gnovice 2010-08-29 05:15:26

+0

不能同意更多!但仍然有账单支付.. – user434043 2010-08-29 07:38:20

回答

0

This SO link可能有您想要的最佳答案。其中一个观点是:

唯一的“最佳做法”你应该使用 所有的时间是“用你 大脑”。

0

您的主题已经涵盖了相当广泛的领域。但是进入大量编程细节,可能会导致这样一种印象,即软件开发最佳实践只涉及编码。

定期提交与仔细编写的提交消息(测试代码)是同等重要的。这导致下一个主题。测试。测试你的代码,反思一下。 Typedef的一切(至少在C(++))。

0

除了你已经列出的东西,我将涵盖: -

  1. 版本控制策略 - 分公司/合并/签到 - 提交政策等
  2. 评论标准 - 基于无论你在跟进您的应用程序
  3. 重构
  4. 单元测试基础知识 - 尤其适合新生。
2

您提到的主题很好。如果你想提各只简单地说,因此要添加其他人,你可以考虑一些(排名不分先后):

  • 自动化,自动化,自动化:无聊,重复的任务是更适合自动脚本比让他们要求用户注意。例如,大多数编码标准(所有可以“机械地”检查的)都必须通过脚本自动检查(“lint-like”是他们的经典名称),将代码提交到存储库(如果您没有良好的源代码版本控制系统会放弃其他一切,并将所有的事情都集中在这一点上,当然,因为它是唯一最关键的工具)。测试:自动化的,可自动重复的单元测试和集成测试,以及连续编译工具可以随时运行它们,这对于防止代码库中的意外中断非常有效。
  • 强制性的,轻便的代码审查(或结对编程):无码应该永远进入无其他人眼的代码库经审查并批准了它 - 不复制“棉绒般”的一部分,但检查的东西这太难自动检查 - 是明确和适当的标识符,具有可重复使用的东西重构已经做对,&ç

    • 正确使用的意见:他们不应该重复一下代码已经清楚地说给任何人谁掌握了语言 - 他们应该增加有用的,简洁的信息,否则不能马上派上用场。 Ga的坏,好,并且在C最好的例子...:

    /*不好 - 事实上,很不好/ 我+ = K;/增加我由k */

    /*好,或至少体面;-) / i + = k;/微件数增长由thingamajig计数*/

    /*最好*/ widget_count + = thingamajig_count;

(无可奉告目前也没有在最后一种情况下需要 - 这是远远总是可以有代码和标识是相当那么清晰,以绝对不需要评论,但是,在可行的情况,这是绝对最好! - )。

+0

亚历克斯,谢谢队友。非常感谢.. – user434043 2010-08-29 07:37:34

0

如果你希望你的培训课程具有显着的效果,那么你想坚持的主题,你可以清楚地传达每个主题的好处,而不仅仅是给他们抽象的规则。实际的数据和关于项目失败的战争故事是因为一些代码被误读,错误难以发现,其他不好的做法等等,对于一些学生比一些没有解释的指导方法更令人难忘。

+0

战争故事:-)喜欢策略mate..cheers – user434043 2010-08-29 07:40:53