`
bmqnc
  • 浏览: 127538 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

代码之丑4的思考

阅读更多
这篇文章说的其实是重复造成代码的code smell,这点深有体会,现在的项目中之前的程序员很多地方都是拷贝黏贴,造成大量的重复,这样其实坏处很多:

1.代码code smell加重,代码显得冗余啰嗦,为以后的代码阅读和维护人员造成不便。这一点正如郑老师讲的。

2.代码膨胀(记得看过云风的blog,他说大话的核心代码只有10w(?)左右),现在很多项目本身不是特别大,但代码却非常多,这里面很多因素造成的。一是很多程序员本身素质确实有待提高,二是出现很多很官僚化的做法就是经常问你代码写了多少,包括公司内部的考核和应聘的面试,虽然代码量是考核程序员的一种手段,但肯定不是唯一的手段,而且不是关键的手段,代码质量也应该在考虑之列,而且是重点考虑的。如果都鼓励程序员以代码量来衡量,造成的后果肯定是代码质量下降。

3.代码可重用性降低,可维护性降低(多处拷贝,改动一个地方需要代码搜索很多地方)。
分享到:
评论

相关推荐

    腾讯低代码引擎建设思考和实战

    腾讯低代码引擎建设思考和实战

    pixhawk/PX4飞控固件代码,包括bootloader

    标题中的“pixhawk/PX4飞控固件代码,包括bootloader”指的是一项与无人机控制相关的技术项目,其中“pixhawk”是一个知名的开源无人机控制系统硬件平台,而“PX4”则是一个先进的飞行控制器软件。这个项目包含了...

    Android4高级编程源代码

    《Android4高级编程源代码》是一份针对Android 4.x版本深入学习的宝贵资源,它包含了一系列关于Android应用开发的高级技术与实践案例。通过下载并研究这些源代码,开发者可以提升自己的Android编程技能,了解如何在...

    简单代码c#实现Rc4加密以及解密

    这段c#代码极为简练,以非常简单的方法来实现RC4加密。 本代码在.net 4.5 以及mono 3.2.6测试成功

    代码之谜(持续更新)1

    4. 代码之谜(二)- 语句与表达式 代码之谜(二)讨论了语句与表达式的区别和联系。该篇博客旨在让读者更好地理解代码中的语句和表达式。 5. 代码之谜(三)- 运算符 代码之谜(三)讨论了运算符的概念和应用。该...

    dom4j-1.6.1-API+源代码-中文版.rar

    6. **DOM4J与JDOM兼容**:如果你已经熟悉JDOM,DOM4J可以无缝地与之交互,扩展了你的选择。 7. **性能优化**:DOM4J采用了高效的数据结构和算法,处理大型XML文档时表现良好。 通过深入研究DOM4J的API和源代码,...

    大量MT4平台指标, MQ4源代码,

    大量MT4 平台指标, 附带部分解析, MQ4语言, ex4

    EA反编译 EX4反编译MQ4

    MT4允许交易者编写自己的 Expert Advisor (EA),也就是自动交易策略,这些策略以`.mq4`源代码文件的形式存在。然而,有时我们可能遇到的是已编译的`.ex4`文件,这对于那些想要查看或修改EA源代码的人来说是个挑战。...

    25个经典网站源代码

    4. JavaScript功能:许多网站使用JavaScript实现动态交互,如表单验证、滑动效果、下拉菜单等。这些源代码可能包含使用原生JS或库(如jQuery)实现的脚本。 5. 前端框架:部分源代码可能基于流行的前端框架,如...

    G代码自动生成

    4. **文件写入**:将生成的G代码保存到文本文件,供CNC设备读取。 对于机械类学生的毕业设计,这样的项目极具价值。它不仅锻炼了编程和机械加工理论的理解,还可能涉及到实际的CNC系统接口,如通过RS-232串口或网络...

    G代码解释程序

    4. **运动规划**:在理解了G代码指令后,程序需要生成连续、无冲突的运动路径,以确保刀具安全、有效地移动。 5. **速度控制**:G代码可以指定进给速度和主轴转速,程序需要根据这些信息调整动作的速率。 6. **...

    软著源代码整理工具

    总的来说,这款“软著源代码整理工具”为开发者提供了方便,能够有效地整理和优化源代码,使之更适合提交到软件著作权申请过程中,同时减轻了手动整理的工作量,提高了效率。对于需要申请软著的个人或团队来说,这是...

    很好的示例,BACnet开发源代码

    本教程将深入探讨基于Java实现的BACnet开发,基于提供的开源代码库——bacnet4j。 首先,了解BACnet的基本概念至关重要。BACnet最初由楼宇自动化和控制系统制造商协会(ASHRAE)制定,旨在解决不同厂商设备间的互...

    编译原理中间代码生成实验报告——完整版

    在编译原理中,中间代码生成是编译过程的关键步骤之一,它位于词法分析、语法分析之后,目标代码生成之前。本实验报告主要围绕算术表达式的中间代码生成展开,旨在让学生深入理解算术表达式的语法分析原理,并能实现...

    C++项目源代码(适合新手练手及参考)

    3. **分析注释**:注释是理解代码的关键,它解释了代码背后的思考过程。 4. **动手实践**:尝试修改和运行代码,理解各种变化对程序的影响。 5. **总结归纳**:将学习到的知识点整理成笔记,方便日后查阅。 最后,...

    冒险岛079代码大全

    冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码大全冒险岛079代码...

    C标准库源代码(学习C/C++必备)

    C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM C标准库源...

    Python动态满屏心形代码(turtle)

    # Python使用turtle库绘制动态满屏爱心 1. 用画笔的三个形状组合出一颗爱心; 2. 将爱心封装成类; 3. 定义爱心的移动和移动到某点的...4. 定义爱心的移动速度和颜色与大小相关; 5. 实现有层次感的满屏动态爱心特效。

    网页爱心表白代码大全

    这些代码可以被用来创建富有创意且个性化的表白页面,为你的爱情增添一份特别的惊喜。这份资源包含了10个不同的效果,每个效果都有其独特的设计和互动体验,使用者可以根据个人喜好选择或参考,甚至可以进一步定制,...

    JavaWeb程序设计源代码

    4. **EL**:EL是JSP 2.0引入的表达式语言,简化了在JSP页面中获取和设置JavaBean属性的操作。源代码中EL的使用可以让你看到如何高效地访问和更新服务器端的数据。 5. **MVC框架**:Spring MVC和Struts是常见的...

Global site tag (gtag.js) - Google Analytics