如果我当前的问题在StackOverflow上无效,这不是关于某段代码的具体问题。有了这么大的社区,我只是好奇地想找到一种通用的最佳实践方法。
这并不是说我不知道如何用面向对象的方式来编写代码,但是当我的代码不断增长的时候,我就迷失了方向,我的代码实际上变得“丑陋”了。所发生的情况是,重写我的代码需要很长时间才能使它再次正确。
别误会我的意思。我真的花了很多时间和精力来尽可能地修改我的代码。我重写了可以重写的部分,实际上我想避免重写,我知道这需要大量的练习。任何关于接受项目的指导方针/建议都将受到高度赞赏。
我已经以面向对象的方式编写了代码,但是它是基于小代码/项目的,现在当我开始从事更大的项目时,我就失去了方向。
我的问题很简单:难道只有我一个人有这个问题吗?以及如何使我的编码始终保持整洁?
谢谢你对这种情况的任何建议。我只想写更好更干净的代码。
发布于 2016-02-19 11:41:20
在实践中,您可能需要更新现有代码以满足新的要求。但是,如果这是您定期做的事情,那么您的开发过程可能不够好。
你可能缺乏事先的思考和计划过程。当你有一个新的开发任务时,你会做什么?你只是继续写一些代码吗?
我使用这样的过程:
1) 用户故事。描述一个用户故事,它往往来自于一个或多个用户。这可能是“我想要一个新的美丽的图表,最近的数据在仪表板上”。
2) 需求规范。开始提问并添加细节。您可能需要创建一个单独的文档来描述所有的细节--究竟应该显示什么数据,应该是线条、条形图还是其他类型的图表,图表应该放在哪里,等等……
结果-一个详细的要求规格.应该足够清楚,这样您就可以将其交给其他开发人员,他们应该能够继续执行以下步骤,而不必问问题。
还可以查看本文规范中的10个典型错误。
3) 实现细节。考虑如何实现需求,描述类结构和对象交互,考虑可扩展性和灵活性,为代码规划单元测试。
基本思想是,在实际编写真正的代码之前,就开始编写和重写代码。想象一下如何使用类/对象,在实际编写代码之前尝试编写一些测试。
这里是固体原理、设计模式和UML图可以很好地设计代码的地方。
4) 估计。如果你擅长点(3),那么将你的植入分成几个小步骤,估计每一步所需的时间都是微不足道的,比如:
我通常使用这个方案的估计(连同20%的意外事件),它是有可能得到非常准确的估计。就像一个40小时的任务,它可能是1-2个小时的错误,它永远不应该像50%的错误。
5) Implementation.在这里,你只需继续并完成任务。一切都是有计划的,一切都很清楚。不考虑设计和策略,只考虑本地决策(比如我在这里使用for或while循环吗?)
这样,您可以在实现过程中尽量减少“惊喜”的数量,并减少以后重写代码的需要。
发布于 2016-02-19 10:04:12
永远牢记实心。这将帮助你保持正确的轨道。这是一个好的开端,http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
https://stackoverflow.com/questions/35502173
复制相似问题