面向对象编程(OOP)
这不是关于某段代码的特定问题,如果我当前的问题在StackOverflow上无效,请道歉。有了这么大的社区,我很想找到一个通用的最佳实践方法 这并不是说我不知道如何以面向对象的方式编写代码,而是当我的代码不断增长时,我正在迷失方向,我的代码实际上直截了当地说变得“丑陋”。发生的事情是,重写代码要花很多时间才能最终使其再次正确 别误会我。我真的花时间和精力以最好的方式修改我的代码。我重写了可以重写的部分,等等。实际上我想避免重写,我知道这需要大量的练习。非常感谢您提供与项目相关的任何指导/提示 我已经用面向对象的方式编写了代码,但它是基于小代码/项目的,现在当我开始着手更大的项目时,我就迷失了方向 我的问题很简单:我是唯一一个这样的人吗?如何让我的代码始终保持整洁面向对象编程(OOP),oop,Oop,这不是关于某段代码的特定问题,如果我当前的问题在StackOverflow上无效,请道歉。有了这么大的社区,我很想找到一个通用的最佳实践方法 这并不是说我不知道如何以面向对象的方式编写代码,而是当我的代码不断增长时,我正在迷失方向,我的代码实际上直截了当地说变得“丑陋”。发生的事情是,重写代码要花很多时间才能最终使其再次正确 别误会我。我真的花时间和精力以最好的方式修改我的代码。我重写了可以重写的部分,等等。实际上我想避免重写,我知道这需要大量的练习。非常感谢您提供与项目相关的任何指导/提示 我
提前感谢您提供有关此情况的任何提示。我只是想写更好更干净的代码 始终牢记在心。这将帮助你保持在正确的轨道上。这是一个良好的开端始终牢记在心。这将帮助你保持在正确的轨道上。这是一个良好的开端实际上,您可能经常需要更新现有代码以满足新的需求。但如果这是您经常做的事情,那么您的开发过程可能不够好 你可能缺乏事先的思考和计划过程。 当你有一个新的开发任务时,你会做什么?你只是继续写一些代码吗 我使用的过程如下: 1) 用户故事。 描述一个用户故事,它通常来自客户或用户。这可能类似于“我想在仪表板上有一个漂亮的最新数据图表” 2) 需求规范。开始提问并添加细节。您可能需要创建一个单独的文档来描述所有的细节-应该显示什么样的数据,应该是直线或条形图还是其他类型的图表,图表应该放在哪里,等等 结果-详细的需求规范。它应该足够清晰,以便您可以将它提供给其他开发人员,他们应该能够继续执行以下步骤,而无需提出问题 也可以查看这篇文章 3) 实施细节。思考如何实现需求,描述类结构和对象交互,思考可扩展性和灵活性,规划代码的单元测试 其基本思想是,您甚至在实际编写真正的代码之前就开始编写和重新编写代码。 想象一下您的类/对象将如何使用,在实际编写代码之前尝试编写一些测试 这里是以一种好的方式设计代码的地方,并且可能很有用 4) 估算。如果你在第(3)点做得很好,那么将植入分为几个小步骤并估计每一步需要多少时间就很简单了,比如:
- 数据库迁移-添加新表-1h
- 实现ClassA、ClassB、ClassC-1h
- 使用特殊的计算算法-4h实现ClassD
- 单元测试-2h
- 测试、修复发现的缺陷-上述缺陷的20%
进行
或while
在这里循环?)
通过这种方式,您可以最大限度地减少实现过程中的“意外”,并减少以后重新编写代码的需要。在实践中,您通常需要更新现有代码以满足新的需求。但如果这是您经常做的事情,那么您的开发过程可能不够好 你可能缺乏事先的思考和计划过程。 当你有一个新的开发任务时,你会做什么?你只是继续写一些代码吗 我使用的过程如下: 1) 用户故事。 描述一个用户故事,它通常来自客户或用户。这可能类似于“我想在仪表板上有一个漂亮的最新数据图表” 2) 需求规范。开始提问并添加细节。您可能需要创建一个单独的文档来描述所有的细节-应该显示什么样的数据,应该是直线或条形图还是其他类型的图表,图表应该放在哪里,等等 结果-详细的需求规范。它应该足够清晰,以便您可以将它提供给其他开发人员,他们应该能够继续执行以下步骤,而无需提出问题 也可以查看这篇文章 3) 实施细节。思考如何实现需求,描述类结构和对象交互,思考可扩展性和灵活性,规划代码的单元测试 其基本思想是,您甚至在实际编写真正的代码之前就开始编写和重新编写代码。 想象一下您的类/对象将如何使用,在实际编写代码之前尝试编写一些测试 这里是以一种好的方式设计代码的地方,并且可能很有用 4) 估算。如果你在第(3)点做得很好,那么把你的植入分成几个小步骤和小步骤就很简单了