首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向对象编程

面向对象编程
EN

Stack Overflow用户
提问于 2016-02-19 09:48:41
回答 2查看 74关注 0票数 0

如果我当前的问题在StackOverflow上无效,这不是关于某段代码的具体问题。有了这么大的社区,我只是好奇地想找到一种通用的最佳实践方法。

这并不是说我不知道如何用面向对象的方式来编写代码,但是当我的代码不断增长的时候,我就迷失了方向,我的代码实际上变得“丑陋”了。所发生的情况是,重写我的代码需要很长时间才能使它再次正确。

别误会我的意思。我真的花了很多时间和精力来尽可能地修改我的代码。我重写了可以重写的部分,实际上我想避免重写,我知道这需要大量的练习。任何关于接受项目的指导方针/建议都将受到高度赞赏。

我已经以面向对象的方式编写了代码,但是它是基于小代码/项目的,现在当我开始从事更大的项目时,我就失去了方向。

我的问题很简单:难道只有我一个人有这个问题吗?以及如何使我的编码始终保持整洁?

谢谢你对这种情况的任何建议。我只想写更好更干净的代码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-19 11:41:20

在实践中,您可能需要更新现有代码以满足新的要求。但是,如果这是您定期做的事情,那么您的开发过程可能不够好。

你可能缺乏事先的思考和计划过程。当你有一个新的开发任务时,你会做什么?你只是继续写一些代码吗?

我使用这样的过程:

1) 用户故事。描述一个用户故事,它往往来自于一个或多个用户。这可能是“我想要一个新的美丽的图表,最近的数据在仪表板上”。

2) 需求规范。开始提问并添加细节。您可能需要创建一个单独的文档来描述所有的细节--究竟应该显示什么数据,应该是线条、条形图还是其他类型的图表,图表应该放在哪里,等等……

结果-一个详细的要求规格.应该足够清楚,这样您就可以将其交给其他开发人员,他们应该能够继续执行以下步骤,而不必问问题。

还可以查看本文规范中的10个典型错误

3) 实现细节。考虑如何实现需求,描述类结构和对象交互,考虑可扩展性和灵活性,为代码规划单元测试。

基本思想是,在实际编写真正的代码之前,就开始编写和重写代码。想象一下如何使用类/对象,在实际编写代码之前尝试编写一些测试。

这里是固体原理设计模式UML图可以很好地设计代码的地方。

4) 估计。如果你擅长点(3),那么将你的植入分成几个小步骤,估计每一步所需的时间都是微不足道的,比如:

  • 数据库迁移-添加新表- 1h
  • 实现ClassA,ClassB,ClassC - 1h
  • 用一种特殊的计算算法-- 4h实现ClassD
  • 单元测试- 2h
  • 测试,修复发现的错误-上面的20%

我通常使用这个方案的估计(连同20%的意外事件),它是有可能得到非常准确的估计。就像一个40小时的任务,它可能是1-2个小时的错误,它永远不应该像50%的错误。

5) Implementation.在这里,你只需继续并完成任务。一切都是有计划的,一切都很清楚。不考虑设计和策略,只考虑本地决策(比如我在这里使用forwhile循环吗?)

这样,您可以在实现过程中尽量减少“惊喜”的数量,并减少以后重写代码的需要。

票数 1
EN

Stack Overflow用户

发布于 2016-02-19 10:04:12

永远牢记实心。这将帮助你保持正确的轨道。这是一个好的开端,http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35502173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档