早上刚看了博文《对于开发人员,“极简原则”需要修正,请看“新极简原则”》,有一些想法想说说。
我用了三年的时光维护一个不算简单的系统,窃以为,“极简原则”也好,单一职能原则也好,最根本的目的是为了易读易懂;
极简必要性:
举个例子,我以前命名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"正是一个...
异体字编码原则在当代汉字字库设计中扮演着至关重要的角色,特别是在处理和展现传统文化遗产时。Unicode,作为全球通用的字符编码标准,试图收录世界上几乎所有的文字系统,然而它并不可能覆盖所有的汉字变体。尤其...
这八项原则在信息化系统编码中起到指导作用,不仅适用于教育领域,也广泛适用于其他行业的信息系统建设。通过遵循这些原则,我们可以构建出高效、稳定、易于理解和管理的信息系统,提升教育信息化的水平。
制造行业物料编码管理思路及解决方案极简版V1.0.pdf
当代社会中,极简主义设计作为一种流行趋势,已经深入人们的生活。而极简壁纸作为一种简洁、清新的手机和电脑背景,受到了广大用户的喜爱。然而,对于极简壁纸的逆向分析,我们往往知之甚少。 本文旨在探索极简壁纸...
通过分析其内容,我们可以深入了解这种极简词库的设计思路及其对用户输入习惯的影响。 #### 二、词库结构与特点 ##### 2.1 结构分析 文档中的内容以特定格式排列,每行由键码(编码)与其对应的词条组成。键码采用...
在该文件中,我们可以看到物料编码规则指导书对物料编码的基本原则和管理规定进行了详细的规定,包括物料编码的流程、编码规则、编码格式等。该文件对物料编码的分类和规则进行了详细的规定,以确保物料的正确编码和...
以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库编码、各种类别编码和其它需要编码的任何项目等。
编码原则加举例.doc
"极简模式开发工具安装程序v.5.221版"是一款专为快速开发企业信息系统设计的专业软件,它简化了开发流程,让开发者能够更高效地构建个性化系统。这款工具集成了前端开发和后端服务,尤其适用于熟悉Java和Javascript...
5. **软件设计**:按照软件工程的原则,进行模块化设计,可能包括输入输出模块、编码模块、解码模块等。 6. **测试与调试**:设计测试数据,验证软件的正确性和效率,确保在不同频率分布的输入下都能得到预期的结果...
PHP编码规范与原则 本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。
5. 避免冗余原则:在设计和编码时要避免创建冗余的功能和模块。例如,如果一个功能可以通过现有的代码库来实现,就不需要重新开发。 6. 单一职责原则:每个类、模块或函数应该只有一个改变的理由,即每个单一的组件...
在本资料中,我们探讨的是磁编码器的原理图和PCB设计,这对于理解和应用这种技术至关重要。 磁编码器的工作原理基于磁场的变化。它通常包含一个磁性轮,上面有不均匀分布的磁性区域,以及一个检测这些磁场变化的...
在推行信息化系统的工作中,所遇到的第一件事情就是编码工作,如供应商、客户、物料等都需要编码,在企业信息化的发展过程中,经常会发现当初制定的编码规则有问题,无法再编下去,需重新修订。那如何进行科学、有效...
每个商品都可以被分配到一个特定的HS编码中,该编码由6位数字组成。前两位数字表示章,第三位数字表示品目,第四位数字表示子目,最后两位数字表示tariff项。 HS编码的应用非常广泛,如海关申报、统计、税收、贸易...
在数据结构课程设计中,Huffman编码器和解码器的实现通常包括以下几个关键步骤: 1. **字符频度统计**:首先,需要读取字符文件并统计每个字符出现的次数。这可以通过遍历文件并使用哈希表或数组来记录每个字符的...