早上刚看了博文《对于开发人员,“极简原则”需要修正,请看“新极简原则”》,有一些想法想说说。
我用了三年的时光维护一个不算简单的系统,窃以为,“极简原则”也好,单一职能原则也好,最根本的目的是为了易读易懂;
极简必要性:
举个例子,我以前命名API,务求全面详实,希望用户看到方法名,就理解其功能、特点、参数类型、返回值;但结果是名称冗长,不易阅读。
如:Member getMemberInfoByMemberno(String id)
当隔段时间再来看,连我自己都被长长的命名弄得烦躁不安,不想去细看。所以长命名并没有达到预期效果。
实际上,这个接口充分利用已存在返回值和形参名,就可以精简很多。
如:Member getInfo(String memberno);
再举个例子,同样是获取邮件模板的ServletApi:
/email/getEmailTempliteByTitle.do
/email/getModel.do
在有前缀/email的情况下,后面的方法名没必要再说明是获取email模板。
极简过度:
举个过去追求极简,一句话包含无数信息的例子,
member.setName(StringUtil.filterKeyword(user.getUserName().trim()));
不管你信不信,反正我看了这句话有想吐的冲动;如果不巧要调试这句话,那么我肯定骂娘。
这一句包含的信息量太大,如果出bug,那么就需要细致定位,是user==null,还是user.getUserName() == null,或者StringUtil.filterKeyword写错了,或member.setName没有生效。
系统设计里定义模块的目的之一,就是将bug的发生限制在一定范围,但太过追求“能一句代码实现的,就不用两句代码”,那么灾难就会降临,阿门……
所以,我觉得编码的最根本原则是
“易读易懂”。如果写两句能够让人清晰的读懂,没必要非得整合成一句。
因为“代码是给开发人员看的”,或者更进一步,代码是给系统维护人员看的。
分享到:
相关推荐
在实际应用中,信息分类和编码不仅应用于文档管理、图书馆目录系统,还广泛应用于数据库设计、知识管理系统、企业资源规划(ERP)等信息化系统中。通过对信息进行科学分类和编码,能够提高信息检索效率,促进信息...
在本文中,我们将基于全局性优化的思想,设计易于图像复原算法处理的光学传递函数,并对全局优化单透镜和三透镜的光学系统输出模糊图与其复原质量进行分析评价。结果表明,相比于光学输出模糊图,复原图像的对比度、...
网页课程设计与毕业设计是IT教育领域中常见的重要实践项目,旨在让学生掌握网站开发的全流程,包括需求分析、设计、编码、测试以及部署等环节。本项目提供的"极简手机PC两用商务旅游企业整站模板5401.zip"正是一个...
标题中的“网站设计模板-极简主义集团企业官网html5整站模板.zip”指的是一个用于构建集团企业官网的HTML5网站模板,它采用极简主义设计风格,旨在提供清晰、简洁且高效的用户界面。极简主义设计是当前网页设计趋势...
异体字编码原则在当代汉字字库设计中扮演着至关重要的角色,特别是在处理和展现传统文化遗产时。Unicode,作为全球通用的字符编码标准,试图收录世界上几乎所有的文字系统,然而它并不可能覆盖所有的汉字变体。尤其...
制造行业物料编码管理思路及解决方案极简版V1.0.pdf
管理系统规格需求说明书模板中明确提出了编码体系设计的一些基本原则,这些原则旨在确保编码的有效性和实用性。 首要原则是科学化、标准化、规范化和合理化。这意味着编码体系应该基于严谨的逻辑和科学的方法来构建...
当代社会中,极简主义设计作为一种流行趋势,已经深入人们的生活。而极简壁纸作为一种简洁、清新的手机和电脑背景,受到了广大用户的喜爱。然而,对于极简壁纸的逆向分析,我们往往知之甚少。 本文旨在探索极简壁纸...
通过分析其内容,我们可以深入了解这种极简词库的设计思路及其对用户输入习惯的影响。 #### 二、词库结构与特点 ##### 2.1 结构分析 文档中的内容以特定格式排列,每行由键码(编码)与其对应的词条组成。键码采用...
在该文件中,我们可以看到物料编码规则指导书对物料编码的基本原则和管理规定进行了详细的规定,包括物料编码的流程、编码规则、编码格式等。该文件对物料编码的分类和规则进行了详细的规定,以确保物料的正确编码和...
此外,对所有相关人员进行培训和普及这些原则,将进一步巩固其在实际操作中的应用,确保编码工作的顺利进行。 通过遵循这些编码原则,企业能够确保其信息管理系统的高效运行,从而更好地应对市场和业务的需求变化。...
数字优先原则强调在编码中优先使用阿拉伯数字,这有助于提高编码的输入效率并减少混淆。当不得不使用字母时,保持固定位数和避免数字与字母混合使用,也是降低错误的有效方法。 追求简短原则要求编码尽量简短,便于...
文章"DNA编码方式1_2_2软著_中文裁剪_1_2_3_极简全英会议论文版V0_0_51"探讨了如何利用DNA的编码原理来理解和模拟人类智能,并将其应用于软件开发,特别是在人形机器人认知和进化方面的应用。 首先,DETA Humanoid ...
以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库编码、各种类别编码和其它需要编码的任何项目等。
编码原则加举例.doc
"极简模式开发工具安装程序v.5.221版"是一款专为快速开发企业信息系统设计的专业软件,它简化了开发流程,让开发者能够更高效地构建个性化系统。这款工具集成了前端开发和后端服务,尤其适用于熟悉Java和Javascript...
5. **软件设计**:按照软件工程的原则,进行模块化设计,可能包括输入输出模块、编码模块、解码模块等。 6. **测试与调试**:设计测试数据,验证软件的正确性和效率,确保在不同频率分布的输入下都能得到预期的结果...
PHP编码规范与原则 本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。
5. 避免冗余原则:在设计和编码时要避免创建冗余的功能和模块。例如,如果一个功能可以通过现有的代码库来实现,就不需要重新开发。 6. 单一职责原则:每个类、模块或函数应该只有一个改变的理由,即每个单一的组件...