如何编写好的软件而不会卡住

|                                                                                                                   关闭。这个问题需要更加集中。它当前不接受答案。                                                      
已邀请:
  您是否知道任何使您能够编写可运行,经过测试的漂亮代码的代码编写策略,而无需花费90%的时间思考如何使其能够正常运行,经过测试和漂亮的代码? 是的,这里。 认真的,没有。没有思考就不可能写出好的代码。   当我看到编写良好的代码时,很难添加新功能并认为“应该将其放在哪里?我是否已经使用过这段代码?什么是最好的方法?”而且我经常推迟工作。 这称为“分析瘫痪”。您可能有兴趣阅读The Pragmatic Programmer的“足够好的软件”部分。您的代码不一定是完美的。     
那些事情被广泛讨论。对我来说,这个传奇性的博客文章是Joel Spolsky,后续讨论(Robert Martin回答了这个问题)在网络上无处不在,它包含了所有的优缺点,并且仍然很有趣。 为了获得一个想法,这里是杰米·扎温斯基(Jamie Zawinski)的语录,该语录出现在上面的链接中:   “归根结底,要运送这东西!很好地重写代码并使代码更整洁,到第三次它实际上会变得很漂亮。但这不是重点–您不是在这里编写代码;您在这里运送产品。”     
我建议您运行TDD(测试驱动的开发)。 在这种情况下,您将在实现每个功能之前为每个功能编写自动化测试,然后在完成功能之后运行测试。 如果测试通过,则说明您已经完成,可以启动另一个功能。另外,测试会随着时间的推移而收集,并且您很快就会拥有一个测试套件,可以将其用于回归测试(以确保在进行新的编码时没有损坏任何东西);这解决了您担心破坏“尼斯代码”中内容的恐惧。 另外,TDD可以让您专注于准确地开发所需的内容,而不是更多,因此它往往会导致更好和更简单的设计(尤其是在接口中,因为在开始编码之前必须考虑接口,因此“请考虑”)驱动接口,而不是“我编码时会更方便”。) 但是,请注意,将自动化测试应用于操作系统可能会带来一定数量的技术挑战!     

要回复问题请先登录注册