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

代码之丑4的思考

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

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

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

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

相关推荐

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

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

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

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

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

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

    代码之谜(持续更新)1

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

    EA反编译 EX4反编译MQ4

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

    G代码自动生成

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

    G代码解释程序

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

    软著源代码整理工具

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

    用51单片机实现G代码翻译

    4. **运动控制**:利用51单片机的I/O口驱动步进电机或伺服电机,实现机床的精确移动。这需要精确的脉冲控制和速度调节。 5. **错误处理**:设置适当的错误检测机制,如语法检查和范围验证,以确保输入的G代码正确...

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

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

    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. 实现有层次感的满屏动态爱心特效。

    代码里的世界观——通往架构师之路【试读】.pdf.rar

    第二部分讲述程序员在编写代码时都会遇到的思考和选择,比如程序员的两种工作模式,如何坚持技术成长,程序员的组织生产方法,程序员的职业生涯规划等。IBM软件架构师对编程的13年经验总结和思考。从最简单的代码...

    C语言游戏代码大全

    4. 矿井逃生: 矿井逃生游戏通常涉及迷宫生成、路径寻找算法(如深度优先搜索或广度优先搜索)以及碰撞检测。玩家需要找到一条从起点到终点的路径,同时避开障碍物。这需要对数据结构和算法有较深的理解。 5. 超级...

    飞思卡尔智能车电磁组程序完整代码

    4. **实时操作系统(RTOS)**:飞思卡尔智能车通常运行在嵌入式系统上,可能使用FreeRTOS或uC/OS等RTOS,以实现任务调度和硬件资源管理,确保系统的高效运行。 5. **通信协议**:比赛中可能需要与地面站进行数据...

    STM32F4 ADC采样FFT运算测试代码

    模拟信号经过ADC采样后变成数字信号,数字信号可以进行FFT运算,在频域中更容易分析信号的特征。此代码用STM32F407的ADC-DMA模式采集4096个点的数据,利用DSP库里的FFT算法进行快速傅里叶变换,经实测可以使用。

    vc++游戏(源代码)

    在本资源包中,我们收集了一系列使用VC++编写的经典游戏源代码,这些源代码提供了深入理解C++编程语言以及游戏开发基础的宝贵机会。通过分析和学习这些源码,开发者可以了解到如何利用C++来实现游戏逻辑、图形界面、...

    在网上复制代码 前面总是带序号 这个可以去掉序号

    4. **在线工具** - 互联网上也有许多在线代码格式化工具,如`CodeBeautify`、`PrettyDiff`等,它们提供去除代码序号的功能。只需将代码粘贴到指定区域,选择相应的设置,点击处理按钮,即可得到去除序号的代码。 5...

    代码注释率统计工具下载

    4. **集成到开发流程**:为了持续监控代码质量,你可以将`linecount`与持续集成(CI)工具结合,如Jenkins、GitLab CI/CD等,每次提交代码时自动运行注释率检查,确保注释的完整性。 5. **优化注释策略**:高注释率...

    Android第二行代码(郭霖全书源代码)

    4. **Layout设计**:Android应用的界面布局通常使用XML文件进行设计,如LinearLayout、RelativeLayout、ConstraintLayout等,这些都是构建用户界面的基础。 5. **UI控件**:TextView、EditText、Button、ImageView...

Global site tag (gtag.js) - Google Analytics