软件基本功:垃圾代码的共同特征

简介: 软件基本功:垃圾代码的共同特征

 尽管每个人都痛恨垃圾代码,垃圾代码遍地都是。那么,什么是垃圾代码?就是脏乱差堆。吾定义为4级:


一级(脏):


无用注释。如某人某月某日因为某事修改,这样的注释有什么用?入参、了参命名好了,加说明反而画蛇添足,将来变化了也没有人修改。

无用代码。

过高的访问关系。

 这些跟技术一点也没关系,都能做到。


二级(乱):


局部不对齐。代码显得乱七八糟。操作符(等号)对齐,近似语句对齐。

 这个需要技术能力吗?


三级(差):


代码命名问题。歧义,词不达意。别人看了能不痛斥垃圾代码?英文咱搞不清楚,咱用拼音也行。

 这个听起来容易,做到也很难。因为大多数人没有咬文嚼字的能力。


四等(堆)


代码拷贝。每个程序员都会说要代码共用,能做到的少之又少。别人已经写好了,你直接复制过来,你自己说是不是垃圾?

 这个听起来是不是也很容易?实际上非常难。能做到代码共用的,都是都是顶级程序员。连代码共用都做不到,谈什么设计?

目录
相关文章
|
敏捷开发 前端开发 开发者
想要成为软件开发中的王者,需要明白的 21 条准则
想要成为软件开发中的王者,需要明白的 21 条准则
|
2月前
|
设计模式 程序员 Serverless
探索编程之美:从代码细节到技术哲学
【10月更文挑战第28天】在这篇文章中,我们将一起走进编程的世界,探索那些隐藏在代码行间的艺术与哲理。通过深入浅出的讲解和实际的代码示例,我们不仅能够学习到技术层面的知识,更能体会到编程作为一种创造性活动所带来的乐趣和启示。无论你是初学者还是资深开发者,都能在这段旅程中找到新的视角和灵感。
54 11
|
3月前
|
敏捷开发 数据可视化 算法
瀑布模型大揭秘:如何用分段式开发轻松搞定软件项目?
瀑布模型是软件开发中最早的线性开发方法,由Winston W. Royce于1970年提出。该模型将项目分为需求分析、系统设计、实现、集成与测试、部署和维护六个阶段,每个阶段自上而下依次进行。尽管近年来敏捷开发备受推崇,但瀑布模型在需求明确、流程复杂的项目中仍具重要价值。本文将详细介绍瀑布模型的概念、主要阶段及步骤,并探讨如何使用项目管理工具如板栗看板,帮助团队高效协作。
46 0
|
设计模式
重构·改善既有代码的设计.04之重构手法(下)完结
重构改善既有代码的设计完结篇,汇总了全部的重构手法。看看哪些手法对你的项目能有所帮助…
7424 2
重构·改善既有代码的设计.04之重构手法(下)完结
|
算法
头歌计算机算法设计与分析:随机化算法
> 任务描述 > 相关知识 > 随机数 > 编程要求 > 测试说明
191 0
|
XML 测试技术 数据格式
【实测】有奇效!用测试用例设计的路子去学习新知识点。
【实测】有奇效!用测试用例设计的路子去学习新知识点。
|
机器学习/深度学习 存储 传感器
《自然》:机器视觉行为理解与脑神经有内在关联?上交卢策吾团队构建映射模型
《自然》:机器视觉行为理解与脑神经有内在关联?上交卢策吾团队构建映射模型
296 0
|
监控 数据可视化 测试技术
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
295 0
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
|
算法 关系型数据库 MySQL
形式化验证工具TLA+:程序员视角的入门之道
女娲是飞天分布式系统中提供分布式协同的基础服务,支撑着阿里云的计算、网络、存储等几乎所有云产品。在女娲分布式协同服务中,一致性引擎是核心基础模块,支持了Paxos,Raft,EPaxos等多种一致性协议,根据业务需求支撑不同业务状态机。如何保证一致性库的正确性是一个很大挑战,我们引入了TLA+、Jepsen等工具保证一致性库的正确性。本文即从程序员视角介绍形式化验证工具TLA+。
形式化验证工具TLA+:程序员视角的入门之道
《实践者的研究方法》—— 第1章 软件的本质 1.1 软件的本质
本节书摘来自华章出版社《实践者的研究方法》一书中的第1章,第1.1节,作者布鲁斯 R. 马克西姆(Bruce R. Maxim)郑人杰 马素霞,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 第1章 Software Engineering: A Practitioner’s Approach, Eighth Edition 软件的本质 要 点 浏 览 概念:计算机软件是由专业人员开发并长期维护的软件产品。
2163 1