业务重要还是技术和代码质量重要(上)

简介: 业务重要还是技术和代码质量重要(上)

介绍本期技术琐话坐馆司机老G先生,这是老G在技术琐话的第三篇投稿。老G先生,16年IT研发及管理经验,曾在通信大厂、沪上知名电商工作。说起老G,大家或许有些陌生,老K想必是熟悉的,就是老G他哥。


老G作品列表:

读研究生有哪些核心竞争力

CTO丢给我《技术人员发展十二条建议》


昨天,有一篇投稿《精通那么多技术为何还是做不好一个项目?》竟然引起了广泛的讨论,甚至被怼了。


作者痛心疾首的回顾了自己做的项目:

先贴几张代码截图,看一下这个重病缠身的项目的病灶和症状:

  • 这是该项目中一个最核心、最复杂也是最经常要被改动的 class,代码行数 4881;
  • 结果就是冗长的 API 列表(列表需要滚动 4 屏才能到底,公有私有 API 180 个);


image.png


  • 还是那个 Class,头部的 import 延绵到了 139 行,去掉第一行 package 声明和少量空行总共 import 引入了 130 个 class!




image.png


还是那个坑爹的组件,从 156 行开始到 235 行声明了 Spring 依赖注入的组件 40 个!


image.png


这里先不去分析这个类的问题,只是初步展示一下病情严重程度。

我相信这应该不算是特别糟糕的情况,比这个严重的项目俯拾皆是,但是这也应该足够拿来暴露问题、剖析成因了。

//

作者后面对问题给出药方,并给出了一般性的方案,并总结:

我认为程序员最大的声誉、最重要的职业素养,就是通过写出高质量的代码做好一个个项目、产品,来帮助团队、帮助公司、帮助组织创造价值、增加成功的机会。


这难道不是程序员的本分吗???


持不同观点的朋友典型意见如下:


A老师:

这个观点我觉得是技术硬给自己找存在感。

业务方向,运营方法才是关键,技术只是保底。


某千万日活产品,从百万到千万的过程中,代码被外来和尚说是垃圾,但暴发增长了,然后全面重构了,代码质量也高了。可读性也好了。扩展性也强了。但日活停止增长了。


老G观点:

如果业务增长停止了,是市场的原因,技术不背这个锅。 代码重构也不背锅。如果重构代码的过程中,因为没有精力去支持业务,技术团队不能响应业务,那自然是不ok的。


这个文章在敏捷成都群也有广泛讨论,比如


image.png


image.png

相关文章
|
8月前
|
敏捷开发 Devops 测试技术
构建软件质量保障体系
构建软件质量保障体系
258 0
|
4月前
|
监控 安全 测试技术
提升软件测试效率:探索持续集成的最佳实践
在现代软件开发过程中,持续集成(CI)已成为提高软件质量和测试效率的关键实践。通过将代码库的每次提交自动构建和测试,CI 帮助团队及时发现问题,减少手动测试的负担。本文探讨了如何有效实施持续集成来优化软件测试流程,并提供了一些实用的策略和工具建议,以帮助开发团队更高效地运作。
83 2
|
5月前
|
敏捷开发 安全 jenkins
自动化测试在敏捷开发中的应用:加速迭代,保障质量
【8月更文挑战第2天】自动化测试在敏捷开发中扮演着至关重要的角色。通过提升测试效率、提高测试覆盖率、及时反馈与修复等优势,自动化测试为敏捷开发团队提供了强大的支持。然而,在实施自动化测试的过程中也面临着一些挑战。通过选择合适的测试框架和工具、制定测试计划和策略、持续优化和维护等策略以及遵循最佳实践并克服挑战,我们可以充分发挥自动化测试在敏捷开发中的潜力,为软件质量的提升和快速迭代保驾护航。
|
8月前
|
测试技术 持续交付 Python
单元测试:质量保障基石
单元测试:质量保障基石
|
8月前
|
安全 Python
代码审查:保障质量之道
代码审查:保障质量之道
|
敏捷开发 测试技术 持续交付
软件开发过程中的最佳实践和代码质量评估
在软件开发过程中,采用最佳实践和评估代码质量对于确保软件的稳定性和可维护性至关重要。通过明确的需求、合理的开发流程、良好的代码规范以及严格的代码评估,我们可以降低软件开发过程中的风险,并提升开发效率和软件质量。
919 2
|
安全 程序员 UED
程序员在软件开发中,业务开发和非业务开发到底哪个工作量更大?
随着互联网的普及和信息化时代的到来,软件开发已经成为了一个非常重要的行业。而在软件开发的过程中,业务开发和非业务开发都是非常重要的环节。那么,在这两个环节中,哪一个工作量更大呢?本文将就此问题简单探讨一下。
215 1
程序员在软件开发中,业务开发和非业务开发到底哪个工作量更大?
|
设计模式 人工智能 自然语言处理
代码质量难以管控?这个工具了解一下
有这么一句名言“Talk is cheap, Show me the code.” 不管是新人还是老手,都特别想提高自己的代码质量,至少让别人看着舒服。我在以往的工作经历中,因为忙于功能的实现及交付,并没有太重视个人编码的能力,包括正确性、美观性和健壮性。工作几年的人还写出那么“难看”的代码,说出去会很丢人的,所以,如何提升自己的编码水平显得尤为迫切。
|
开发框架 算法 Java
在软件开发中,业务开发和非业务开发哪个工作量更大?
在软件开发中,业务开发和非业务开发哪个工作量更大?
329 0
|
JavaScript 前端开发 安全
【软件工程】代码质量综合指南:最佳实践和工具
【软件工程】代码质量综合指南:最佳实践和工具