早上刚看了博文《对于开发人员,“极简原则”需要修正,请看“新极简原则”》,有一些想法想说说。
我用了三年的时光维护一个不算简单的系统,窃以为,“极简原则”也好,单一职能原则也好,最根本的目的是为了易读易懂;
极简必要性:
举个例子,我以前命名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,作为全球通用的字符编码标准,试图收录世界上几乎所有的文字系统,然而它并不可能覆盖所有的汉字变体。尤其...
综上所述,本文介绍的工艺管道管架编码原则,不仅创新性地解决了传统设计中遇到的问题,而且大大提升了设计的效率和准确性。这一编码原则的提出,是对当前3D建模工艺流程的一次重要补充和优化。通过标准化、系统化的...
这八项原则在信息化系统编码中起到指导作用,不仅适用于教育领域,也广泛适用于其他行业的信息系统建设。通过遵循这些原则,我们可以构建出高效、稳定、易于理解和管理的信息系统,提升教育信息化的水平。
制造行业物料编码管理思路及解决方案极简版V1.0.pdf
针对地下矿生产可视化管控系统中各种空间要素的分类与编码问题,阐述了地下矿空间要素分类与编码的原则和方法。采用线分类法对地下矿各业务系统进行分类,设计了3位系统编码;采用线分类法对地下矿各种空间要素的几何...
当代社会中,极简主义设计作为一种流行趋势,已经深入人们的生活。而极简壁纸作为一种简洁、清新的手机和电脑背景,受到了广大用户的喜爱。然而,对于极简壁纸的逆向分析,我们往往知之甚少。 本文旨在探索极简壁纸...
通过分析其内容,我们可以深入了解这种极简词库的设计思路及其对用户输入习惯的影响。 #### 二、词库结构与特点 ##### 2.1 结构分析 文档中的内容以特定格式排列,每行由键码(编码)与其对应的词条组成。键码采用...
此外,对所有相关人员进行培训和普及这些原则,将进一步巩固其在实际操作中的应用,确保编码工作的顺利进行。 通过遵循这些编码原则,企业能够确保其信息管理系统的高效运行,从而更好地应对市场和业务的需求变化。...
以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库编码、各种类别编码和其它需要编码的任何项目等。
"极简模式开发工具安装程序v.5.221版"是一款专为快速开发企业信息系统设计的专业软件,它简化了开发流程,让开发者能够更高效地构建个性化系统。这款工具集成了前端开发和后端服务,尤其适用于熟悉Java和Javascript...
5. **软件设计**:按照软件工程的原则,进行模块化设计,可能包括输入输出模块、编码模块、解码模块等。 6. **测试与调试**:设计测试数据,验证软件的正确性和效率,确保在不同频率分布的输入下都能得到预期的结果...
PHP编码规范与原则 本规范由编程原则组成,融合并提炼了开发人员长时间积累下来的成熟经验,意在帮助形成良好一致的编程风格。
在本资料中,我们探讨的是磁编码器的原理图和PCB设计,这对于理解和应用这种技术至关重要。 磁编码器的工作原理基于磁场的变化。它通常包含一个磁性轮,上面有不均匀分布的磁性区域,以及一个检测这些磁场变化的...
在推行信息化系统的工作中,所遇到的第一件事情就是编码工作,如供应商、客户、物料等都需要编码,在企业信息化的发展过程中,经常会发现当初制定的编码规则有问题,无法再编下去,需重新修订。那如何进行科学、有效...
在哈夫曼编码中,每个字符被赋予一个唯一的编码,编码的长度取决于字符的出现频率。出现频率越高的字符,编码越短;出现频率越低的字符,编码越长。这样可以最大限度地减少数据的存储空间。 在本节课程设计中,我们...