这里的个人原则和实践是通过培训准备的

Dive into business data optimization and best practices.
Post Reply
suchona.kani.z
Posts: 394
Joined: Sat Dec 21, 2024 5:30 am

这里的个人原则和实践是通过培训准备的

Post by suchona.kani.z »

在迭代过程中,可以确定两个可以同时考虑的任务:一方面,您关注当前所在级别的原则和实践,另一方面,您准备下一个级别。我将这两个任务称为“规划流”和“实践流”,现在我想向大家更详细地介绍一下:

规划流程在内容上,培训应包括术语解释以及实践和原则的目标。
培训课程应由不同的开发商准备和举办。
引用与这些原则和实践相矛盾的遗留代码有助于说明负面案例。然而,解决方案只能在实践中开发。
练习流
在签入之前,您可以使用列表检查是否所有内容均已遵守。
如果违反了原则,将会在签到评论中进行解释。
审核者使用该列表来检查签入并验证违规原因。
如果理由不充分或者根本没有理由,请联系开发商,共同寻找解决方案。
结果要么是按照原则办理登机手续,要么是由两个人证明合理的例外情况。评论中的推理很重要,因为它清楚地表明这是一个有意识的决定。
在日常站会中,您和团队应该始终简要反思是否存在违反原则的情况。这确保了 手机数据库 只有“干净的代码”被签入生产代码库。例如,偶尔检查签入是否符合当前原则可能是软件架构师或首席开发人员的任务。

您可以借助静态代码分析工具(例如 Sonar、PMD、Checkstyle 或 Findbugs)在 Java 环境中映射一些原理。然而,只有真正考虑到这些工具,它们才有用。您应该谨慎使用“SuppressWarning”注释,并始终在评论中注明原因。但 NET 环境中也有一些工具可以支持您的努力。 NDepend、Simian 或 SourceMonitor 是一些示例。

晋升到下一个学位
只有遵循该程序,才能晋升到下一个级别。与个人方法相反,您的团队只能一起前进到下一个级别。但是,如果发现毫无根据地违反某个等级的内容,则同一等级将在另一次迭代中运行。因此,晋升是一种奖励,体现了整个团队的质量努力。这也确保您的开发人员朝着同一个方向努力。一旦您一起考虑 CCD 的原理,您就会注意到您的代码库向干净代码转变的速度有多快。

团队内部的变化(例如由于新员工的出现)自然意味着并非所有开发人员都处于同一级别。如果你们以红色等级的团队重新开始,这是最容易的。这意味着新员工可以尽快了解 CCD 主题,并从团队在之前迭代中获得的经验中受益。

到达下一个级别并不意味着您可以忽略在之前的迭代中已经通过的其他级别。这只是意味着您应该在日常工作和阅读专业文献时特别关注您当前的水平。

重要的是,可以在开发人员的工作场所以书面形式找到级别概述,包括您定义的最重要的提交规则。纯电子图像(例如维基文档中的图像)并不是特别有效。每天引人注目的印刷和层压 A4 纸张已被证明是有效的。


CCD:模具等级一目了然

然后,在每次签入和每次代码审查期间都会积极考虑这些原则。这样,一旦违反原则,committer 和 reviewer 之间就会启动讨论。

不能遵守所有原则,比完全不遵守原则要好!
在此,我想再次向大家澄清原则和硬性规则之间的区别:硬性规则没有给你自己决定的余地,也不能做到一视同仁,但CCD框架内的做法和原则是旨在促进更多的个人主动性和自我责任感。您不需要使用设计模式。相反,您有责任选择正确的设计模式来满足 CCD 的原则。此外,您当然有责任在原则似乎相互矛盾的情况下找到任务的最佳解决方案。

瑞士 adesso 的手术流程
我们越来越依赖各个团队中开发人员的个人责任。我们在 adesso Switzerland 使用的一种简单但有效的方法是在团队监视器上显示 CCD 等级的颜色 - 例如作为背景颜色。在一定的间隔内,CCD等级的颜色会交替显示,从而引起开发人员的注意。与个人方法类似,每个开发人员都有责任遵守原则和实践。此外,团队监视器上的跨团队和跨项目显示确保了通用方法。重要的是,无论选择何种呈现方法,一个或多个团队的所有开发人员都可以看到成绩。目的是每天让所有团队成员清楚每个开发人员处于什么级别以及个人特别关注哪些原则和实践。如果有多个团队,这种方法还具有以下优点:不同项目的团队可以就各自当前级别的原则和实践交换想法。

除了这种方法之外,您还可以举办信息活动(棕色袋子)。所谓的编码道场——意味着思想和解决方案方法的透明开发和交流——也在这种背景下建立。这些措施的目的是让高质量发展意识内化到各个客户项目中。最终,您的客户尤其应该从软件开发的质量意识和专业精神中受益。
Post Reply