这个问题的灵感来自于这一块。尽管其他问题被认为是本地化的,但我认为根本问题是我们行业中极为普遍的问题。我知道有一些开发人员会阅读这些内容,并认为我正在编造这些东西,然后他们可能会回答每个人如何关心自己的工作并想学习,但是只是看看其他Programmer SE的帖子(例如),我知道这并非普遍如此。
假设您的团队中有某个人(或可能是多数人),他们的标准操作程序是复制/粘贴,并且相信只要添加足够的函数调用和变量,一切都可以解决。这个人从来没有听说过TDD,DRY或SOLID,并且在忙于工作的40个小时之外,他们从来没有读过任何一本方法论/实践/设计书。
在过去,我(和其他人)曾问过,如何教OOD。但是现在我认为这不是正确的问题。真正的问题是,您如何与这样的人/团队打交道,并使他们对更好的做事方式感到好奇?您如何激励他们学习?没有这些,似乎所有的教学,会议,演讲,讨论都没有用,如果他们很高兴回到办公桌前并做他们一直以来所做的事情。
我和一群这样的人一起工作。他们实际上是非常聪明的人,但是当我听到“我已经完成编码,只需要重构并拆分成多个类以使DXM满意”时,我就会讨厌。它们不会重构更干净,可读性和可维护性的代码,而仅仅是因为否则它们会被责骂。我知道他们有学习能力,只是似乎普遍缺乏动力。
当我交付作品时,它的bug数量通常更少,而我拥有的作品从未成为5000行的怪异行为。其他人会发表评论,例如“您的代码比我们的代码更清晰易读”,因此他们看到了区别。但是与此同时,我觉得他们相信他们不管做什么都可以得到40个小时的报酬,因此他们实际上不介意他们是否花了整整3天的质量检查来寻找不应引入的错误。第一名。或者他们花一个星期来修改一个类,因为最终有太多的依赖关系。但是,“也许该类应该用不同的方式编写”似乎从未弹出。
在这些情况下可以采取任何措施吗?有人成功了吗?还是最好将这种思维方式隔离到项目的非关键部分,并最大程度地减少损失?
注意:当我说“缺乏动力”时。我不认为工作或干得好没有动力,因为他们只是停止了关怀。实际上,我们团队中的大多数人恰恰相反。他们绝对在乎产品。我们有会在晚上和周末工作的人。我要努力克服的部分是改善的习惯和技能,实际上他们不需要那么多的工作。我想“ 40个小时”的事情使这篇文章听起来有些消极。