我如何才能有意识地实践设计模式和重构?[关闭]


10

我正在阅读《重构为模式》一书,想知道如何获得机会练习这些技能,因为如果不认真尝试重构和使用模式的新方法,我的技能将无法提高。

但是办公室工作需要我尽快完成每项任务。大多数时候,项目的设计和体系结构不受我控制,我只能遵循与现有代码类似的样式。有时有一个设计不良的项目,但是还有另一个开发人员的设计技能比我强,他已经拥有重构该项目的整个计划,所以我只是遵循他的计划。我如何获得练习的机会?

Answers:


6

坦率地说,您迫不及待地想敲门。如果您非常想练习该技能,那么不管您所谓的技术更高的开发人员拥有什么,都可以进行自己的设计就太好了。只是抛开您的想法,并就我的解决方案对现有的不良设计有何帮助进行很好的对话。也许您在最初的几次尝试中都会失败,但是您会学到很多东西(并且也看到您所谓的技能更高的开发人员同事也将从中学到一些东西)。

简而言之,将您的设计也放在桌面上,知道自己的优缺点,否则就无法对您的技能进行基准测试。


3

练习,练习,练习。业余爱好项目绝对是个好主意。而且,如果您想学习,最好还是在别人的开源项目上工作,那样您就可以从他们采用的模式中学习。

我建议研究一下dojoskata 编码。该概念背后的全部思想是,通过对定义明确的可管理实践问题进行实践,可以在自己的代码中出现问题时更好地进行准备。(这些网站比我解释得更好,请务必检查一下。)

侧面要点:测试方面,适当的习惯是尚不完全有规律的一项基本要求。

另外,最后一句话:办公室工作要求您尽快完成每项任务。如果您的工作速度太快并创建了许多错误,那么您就没有完成任务,因为您稍后必须重新执行该任务。这是返工。如果您没有花费必要的时间来学习正确的做事方法,那么您将在短期内为自己创造更多的工作,而不会学习长期的改进方法。实行适当的设计模式对您和您的雇主都是值得的。(也就是说,设计模式经常会被过度狂热或没有背景知识的人过度使用和滥用,但这是另外一个观点。)


重做是一个有趣的主题。.37signals.com/rework是一本关于该主题的不错的书。
carpeliam 2011年

1
哦,还有另一条评论,并且伴随着其他人的模式。使用您办公室中的人员作为资源。如果他们有如何重构某些东西的计划,请让他们解释他们的思维过程并强迫他们教您。如果您的办公室不专注于您的个人专业发展,那就有问题了。
carpeliam 2011年

+1表示任务完成的时间。
彼得Török

1

我认为您有以下选择:

  • 考虑在非工作时间进行练习-只需继续工作并尝试重构代码,而无需将代码提交给VCS。要进行有计划的练习,您无需提交更改。您需要重现一个过程,直到它成为您的第二天性为止。
  • 考虑掌握沟通技巧,与您的同事讨论哪种重构更合适。至关重要的对话确实有助于理解交流的机制。
  • 宠物项目-创建一个宠物项目并练习自己的技能。它不必很有用。您的目标是练习编程技能。
  • 考虑在开放源代码项目中建议您的服务-这对于深思熟虑会更有利,因为您可以获得反馈
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.