昨天主管和我review了Q2的kpi
主管:你觉得你写的代码怎么样?
我:感觉一般,看了程立写的代码,是种享受,和其比起来,差距还很大。其实大部人程序员都是以最小代价完成布置的任务,完成的代码。我完成了任务,胡总你可能只关心功能,又不知道我的代码质量如何。还是看自己的责任心和时间吧,有时间也许会不断重构自己的代码,但有些自己也有些惰性。
主管:前段时间,我找程立看了下你在企业版的代码,给的评价是中上等。
我:(脑子先是一懵,心想:完了,神一样的男子看了我的代码,居然给中上等的评级,是我不自信还是哪个环节夸大了?一是和程立的代码比起来,我自己感觉自己的代码非常垃圾;二是胡总居然会找首席架构看我的代码,完全没想到的,对我还是比较重视的;三是当时项目时间非常紧,连续一个月每天都是12点多回家,只顾完成功能,代码质量就不用想了)
不会吧?我感觉我的代码很垃圾的(自己在笑。。。我不想给自己找借口,虽然当时时间很紧,迭代一测试修bug,迭代二同时开发,根本没有时间对代码的质量进行完善)。那程立具体怎么说的,我想听下细节
主管:感觉你的代码对于异常的捕获、注释这些做的还是比较到位。但是可能总体架构上、领域建模上还是差一些。
我:我还是感觉自己的代码比较垃圾。。。
----------------------------------------------------------------------------------------
于是
1.决定重读martin大师的《重构--改善既有代码的设计》
2.多读一些公司架构的代码,不断学习
3.提高自己的责任心。代码就是自己的孩子,写出垃圾代码,是我的耻辱!
但是重构,引发了一些思考:
1.我们的业务不断的发展,代码不断的被阅读,不断的被修改,如何保证代码的可维护性?也许重构是个不错的注意。
2.也许重构代码是必要的,但是如何保证重构的代码不会影响其他的功能?也许我重构过程中改动的每一段相关的代码,都是一个雷,一个和外围系统之间的潜规则!
3.这2者是矛盾的,矛盾的出现必然推进事物的发展。如何在我们公司这种不断发展的业务中,保证系统正常运行的同时,又保证代码的质量?单元测试?codereview?靠个人的责任心?还是靠流程?
分享到:
相关推荐
在"重构,从空间到服务"的主题中,我们可以推断这可能涉及将传统的、集中式的系统或者代码模块转变为更灵活的服务化架构,比如微服务。微服务架构将大型应用拆分为一组小型、独立的服务,每个服务都专注于完成特定...
2. **破坏现有逻辑**:如果不谨慎操作,重构可能导致原有业务逻辑被破坏,影响系统的正常运行。 3. **过度重构**:过度重构不仅浪费时间,还可能导致代码变得更加复杂。 #### 三、重构的原则与实践 **原则**: 1. ...
然而,在进行重构时,开发者常常会遇到各种各样的“坑”,如果不小心处理,可能会引入新的问题,甚至破坏原有的系统稳定性。因此,掌握一定的重构技巧和避免常见陷阱变得尤为重要。 #### 二、重构的基本原则 在...
专家介入过多,不能充分调动项目组成员的积极性并强化其责任,得不到成长,介入过少又不能充分发挥技术评审的作用,同样对确保项目质量不利。 六、在产品开发过程中进行技术攻关 平台化开发是IPD 的核心思想之一,...
代码设计与重构是软件开发过程中的重要环节,它们关乎到代码的质量、可读性、可维护性和团队协作效率。在编程实践中,良好的代码设计能够使项目结构清晰,降低出错概率,而重构则是提升代码质量的关键步骤,它不改变...
- **定义**:在线重建索引是一种高级的技术手段,可以在不影响业务正常运行的情况下对索引进行重构。 - **特点**: - 在重建过程中,索引仍然是可读可写的,不会影响到业务操作。 - 适用于大型生产环境中的索引...
然而,代码的“变质”往往是量变的累积,当遇到系统发布赶时间、业务需求超出最初设计预期,或是团队管理上的问题时,代码质量往往会受到影响。这时,我们就需要进行必要的重构,以避免代码坏味道的扩散。 那么重构...
可重构路由器是指利用可编程器件和动态电路重构技术,允许硬件电路在芯片内动态加载新业务模块,同时不影响其他模块正常运行的路由器。这类路由器的提出,主要是为了解决传统路由器在业务升级能力及响应速度上的不足...
- 测试重构后的系统,确保所有功能正常,并进行性能调优。 通过以上步骤,我们可以利用SpringMVC的强大功能,构建出一个高效、稳定、易于维护的员工管理系统。这不仅提升了开发效率,也为后期的系统扩展和升级打下...
文章中提到了一种称为"控制运行时重新部署"的方法,它扩展了热部署和动态刷新的概念,使得系统可以在运行时进行结构调整,允许组件的补充和替换,而不会显著影响系统的正常运行。 该方法依赖于对基于组件的软件工程...
假设有一个系统,其中部分功能模块耦合度较高,导致修改一处会影响到其他地方。为了降低这种依赖关系,可以考虑应用适配器模式: 1. **识别接口差异**:首先确定不同模块间的接口差异。 2. **创建适配器类**:设计...
这些问题不仅影响了业务的正常运营,也妨碍了技术的健康发展。 为了解决这些问题,重构被分为四个阶段:战略设计阶段、战术设计阶段、系统实现阶段和重构总结与思考。 战略设计阶段是整个重构过程的基石,它关注于...
"dashboard rejected接口重构"这个主题,意味着我们需要关注的是一个与仪表盘(dashboard)相关的应用或系统中的特定接口,该接口在原先的设计中可能存在问题或者不满足当前的需求,因此需要进行改造。 首先,我们...
比如,过长的方法可能意味着职责不明确,过于复杂的条件表达式可能隐藏了业务逻辑,这些都可以通过提取方法、引入条件对象等方式进行改进。 2. **提取类与模块**:将相关功能聚合到一个类或模块中,可以提高代码的...
1. **健康外部环境**:在描述中提到,如果公司的销售与客户过度承诺,可能导致研发资源被大量消耗于应对项目时间点和需求变更,从而影响正常业务的开发。这意味着在进行架构重构前,公司需要有一个稳定且合理的业务...
5. 测试:进行单元测试、集成测试和性能测试,确保重构后的系统功能正常且性能稳定。 6. 文档更新:编写新的技术文档,记录重构过程和结果,以便后续维护和扩展。 在实际操作中,可能还需要考虑兼容性、性能优化、...
在nopCommerce 4.40.3中,开发者可以自定义这些设置,以便根据特定业务需求调整平台的行为。这通常涉及到对项目中的配置文件(如appsettings.json或appsettings.{Environment}.json)进行修改,以及在代码中访问这些...