早上刚看了博文《对于开发人员,“极简原则”需要修正,请看“新极简原则”》,有一些想法想说说。
我用了三年的时光维护一个不算简单的系统,窃以为,“极简原则”也好,单一职能原则也好,最根本的目的是为了易读易懂;
极简必要性:
举个例子,我以前命名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建模工艺流程的一次重要补充和优化。通过标准化、系统化的...
每个商品都可以被分配到一个特定的HS编码中,该编码由6位数字组成。前两位数字表示章,第三位数字表示品目,第四位数字表示子目,最后两位数字表示tariff项。 HS编码的应用非常广泛,如海关申报、统计、税收、贸易...
这八项原则在信息化系统编码中起到指导作用,不仅适用于教育领域,也广泛适用于其他行业的信息系统建设。通过遵循这些原则,我们可以构建出高效、稳定、易于理解和管理的信息系统,提升教育信息化的水平。
制造行业物料编码管理思路及解决方案极简版V1.0.pdf
管理系统规格需求说明书模板中明确提出了编码体系设计的一些基本原则,这些原则旨在确保编码的有效性和实用性。 首要原则是科学化、标准化、规范化和合理化。这意味着编码体系应该基于严谨的逻辑和科学的方法来构建...
当代社会中,极简主义设计作为一种流行趋势,已经深入人们的生活。而极简壁纸作为一种简洁、清新的手机和电脑背景,受到了广大用户的喜爱。然而,对于极简壁纸的逆向分析,我们往往知之甚少。 本文旨在探索极简壁纸...
通过分析其内容,我们可以深入了解这种极简词库的设计思路及其对用户输入习惯的影响。 #### 二、词库结构与特点 ##### 2.1 结构分析 文档中的内容以特定格式排列,每行由键码(编码)与其对应的词条组成。键码采用...
Savoy 主题是一个专为WooCommerce设计的电商主题,它在市场中受到了“最佳极简主义”这一评价。该主题的版本号为v2.9.8,体现了它持续的更新和维护过程。该主题可以轻松地集成到WordPress环境中,WordPress是一个...
此外,对所有相关人员进行培训和普及这些原则,将进一步巩固其在实际操作中的应用,确保编码工作的顺利进行。 通过遵循这些编码原则,企业能够确保其信息管理系统的高效运行,从而更好地应对市场和业务的需求变化。...
在信息编码中,特别是在数据压缩中,哈夫曼编码是一种非常有效的无损数据压缩方法。本课程设计作业主要探讨了如何构建和使用哈夫曼树进行编码和解码操作。 首先,我们需要理解哈夫曼树的基本构造过程。哈夫曼树是一...
文章"DNA编码方式1_2_2软著_中文裁剪_1_2_3_极简全英会议论文版V0_0_51"探讨了如何利用DNA的编码原理来理解和模拟人类智能,并将其应用于软件开发,特别是在人形机器人认知和进化方面的应用。 首先,DETA Humanoid ...
以物料的编码为主线讲解编码的原则,但所讲编码原则同样适用于系统的客户编码、供货商编码、职员编码、部门编码、单位编码、仓库编码、各种类别编码和其它需要编码的任何项目等。
编码原则加举例.doc
"极简模式开发工具安装程序v.5.221版"是一款专为快速开发企业信息系统设计的专业软件,它简化了开发流程,让开发者能够更高效地构建个性化系统。这款工具集成了前端开发和后端服务,尤其适用于熟悉Java和Javascript...