什么是整洁的代码库?
我最近看过《整理生活的改变人生的魔法》这本书。 我想我在Play商店中得到了一个样本,马上想到“哇,这个女人真是太棒了!” 现在,我已经读了很多书,我知道为什么:1.它是冗长的句子 ,礼貌地传递,就像以娃娃的声音传递的女巫诅咒一样; 2.它完全是哲学上的。 尼采说他只爱用鲜血写的东西。 如果生活得当,传记应该是一本好书。 如此令人敬畏的是,作者在5岁时就迷上了混乱的问题。这本书令人敬畏的是,无论您是否立即相信她的一举一动,她的言辞力量都非常出色。 (单词图的词源来自希腊语中的写作。)
当然,在某个时候,我开始思考,我们是否曾经整理过软件? 部分原因是作家似乎是一个典型的自助者,他要赶走李斯特菌涂油的溴化物。 但是实际上,发生的事情是,转而切入了我其他最喜欢的哲学家之一大卫·休ume的核心,她攻击的是幻想,而不是错误。 这使我意识到,软件的整洁冲动被幻想所笼罩。 可悲的是,我认为鲍伯叔叔的书确实做了本人(我的新英雄之一)所没有的。 这并不是说鲍伯叔叔的书里没有很多好主意。 但是,它完全依赖坚持纯净模型的观念。 与其鼓起勇气去面对自己的幻想,并试图束手无策,因为他们不得不问自己如何摆脱我们行业一直在转向的几乎普遍的指控。
我想到的第一个想法是,编码中显然有位置动态:在感兴趣的领域中从事未开发项目的程序员生成有序且具有一定组织维度的东西的可能性要高数千倍。然后有人将其送入一个废弃的矿场,将骨灰中的碎屑刮掉。 而且,我们所有人都已经看过一百万次了,村长们如何将自己摆在前庭,并修剪修剪整齐的小桩,然后留给下层来将他们真正吸引到抽血的服务上,换句话说:器官是通过启动心脏的实际过程来完成的。
(我认为当我完成此操作时,我必须遍历科学怪人。原因,真的是伙计们,这就是我们大多数时候所做的事情。软件开发中的动画总是在零件“组装”之后通常是由Perto单独制作的。法律80%的人穿过剪贴板。)
但是在考虑分频器时,我开始意识到的另一件事是,我们生活在一种基本的幻想中,可以很容易地总结一下整洁:因为我们在做软件,而且事情还在变化,所以我们真的无法清理现在,但是我们肯定会在以后。 (换句话说,想象我现在正在用《墙》的声音说话,说如果你不吃肉怎么期望得到布丁,'当我仍在使用所有这些玩具时,我该如何清理所有这些布丁呢?我还不能把它们收起来吗?
零件有序但设计变化无穷
令人震惊的是,我对此部分表示同意。 好吧,这并不是说我们应该让自己屈服于混乱。 不,我们宁愿面对面,也要使其成为实现秩序的过程的一部分。 Hondo女士的无错定义实际上是一个世界,在这个世界中,欢乐的事物被提出,然后以定义的方式发回。 当然,您可以想象这将如何映射到烹饪。 例如,当我有一个Caesar(几乎无处不在的产品,在90%的时间内都是极度假冒的物品)时,我可以立即知道大蒜酱是否在研钵和杵中制成。 凯撒瓶调味是一个完全的笑话。 如果我在五轮死亡比赛中未能通过盲目测试来检测哪个是新鲜的v。瓶装,我可能会在判断后接受铁杉。 无论如何,在将凯撒(Caesars)做成一堆之后,我当然学会了有效地制作粘贴的最佳方法。 这是否意味着我已经从中汲取了欢乐,并将其变成了无生命的死记硬背的练习? 不能。但是请记住,适当的凯撒的准备工作将包括渲染许多组件,特别是如果您使面包块新鲜,磨碎奶酪并旋转长叶莴苣,然后不停地进行。 烹饪是一种奇怪的情况,因为您不想对其进行机器人化,但是如果您只是不断地接受无效率的无伴奏的无伴奏演奏,那么您也将一无所获。 我最近看了一部有关Madhur Jaffrey的传记,她在上面写上核心香料(即使有3或4种)的味道,就像画家的调色板一样,这意味着同一道菜每次制作时都会有细微的差别。 这是真的。
模式运动试图对我们如何做到这一点进行理论化:学习组件渲染变化,这些变化在内部是有序的,一致且有目的的,但可以组合起来,带来无限的可能性。 如果我查看一个模式,那么它的有序性就不是一个真正的问题:访客要么是一个,要么不是。 如果是的话,我知道双重派遣的两个方面在哪里。 那不是创造力压制军国主义。 意识到必须将事物设计为以清晰且可复制(和一致)的方式在内部工作,并且它们必须与其他元素组合在一起。 打开扩展名,关闭更改。
也许代码整洁应该是ABC (永远是关闭)信条的一部分。 从某种意义上说,如果我们总是关闭,我们将把每一件事都收起来。 投降的立场与其说是赫拉克利特的声明(我们永远不能两次踏入同一条河),不如说是无情的离岸价,这实际上是部分工作的无力。 我们都知道,代码库经常充满上帝对象和弱抽象。 部分原因是因为工作集中在频谱的两端:无穷大和无穷小。 在这个领域的中间,有人必须能够说:“好的,可能会有更多的变化,但是现在,我们可以以有效的方式体现功能上需要的东西,从而放弃接受混乱。含糊不清的期票,它将永远不会还清,或者其清偿成本将随着成立之初消失在过去而增加。
毫无疑问,模式中的整洁元素确实很吸引人。 通常会遇到一些代码,这些代码本身都在努力使自己看起来漂亮且井井有条,但是实际上,这些代码只是呈现出排列整齐,没有星座的天空而已的精美片段。 丰田案例向我们展示了腐烂并不是我们容易相信的一些容易解释的现象。 坦白说,腐烂的生成论是一种典型的替罪羊场景:大个子,随着他们智慧的增长,会做事,而小个子则不会。 当这些小侏儒也经常通过欺骗而潜入时,他们会将代码与他们ho陷的小球菌一起植入。 我们必须为阻止这些害虫而战! 为了保持我们的代码干净。
嗯是的
翻译自: https://www.javacodegeeks.com/2015/10/what-is-a-tidy-codebase.html
什么是整洁的代码库?相关推荐
- 【整洁之道】如何写出更整洁的代码(上)
如何写出更整洁的代码 代码整洁之道不是银弹,不会立竿见影的带来收益. 没有任何犀利的武功招式,只有一些我个人异常推崇的代码整洁之道的内功心法.它不会直接有效的提高你写代码的能力与速度,但是对于程序员的 ...
- 献给 Python 开发人员的 25 个最佳 GitHub 代码库!
以下为译文: 根据2020年StackOverflow开发者调查报告,Python是世界上最受欢迎的语言之一,排名仅次于Rust和TypeScript.更令人惊讶的是,Python是开发人员最想尝试的 ...
- php项目数据库控制器代码_如何为大型代码库组织Express控制器
php项目数据库控制器代码 by Alexandre Levacher 亚历山大·莱瓦彻(Alexandre Levacher) 如何为大型代码库组织Express控制器 (How To Organi ...
- 七个最佳 GitHub 代码库,让你成为更好的 JavaScript 程序员
摘要:在前不久刚发布的 GitHub 年度报告中,JavaScript 依旧是最受程序员欢迎的编程语言,而想要成为一名优秀的 JavaScript 程序员,这 7 个 GitHub 代码库可能会提供助 ...
- css3动画源代码库_清理CSS代码库
css3动画源代码库 You have just been onboarded to an existing project to replace a departing developer. Or ...
- 代码恐怖故事:隐藏在复杂代码库中的恐怖秘密
本文讲述了开发者们在复杂代码库中工作的经历和教训,包括代码复杂性带来的问题.架构决策.第三方库引发的意外问题以及令人恐慌的编程错误,以及如何处理这些挑战. 原文链接:https://digma.ai/ ...
- 谷歌大脑开源Trax代码库,你的深度学习进阶路径
2020-02-27 14:37:02 机器之心报道 参与:思 感觉深度学习建模只不过调库与堆叠层级?你需要谷歌大脑维护的这条路径 Trax,从头实现深度学习模型. 从最开始介绍卷积.循环神经网络原理 ...
- 微软打造了全球最大的Git代码库
丹棱君有话说:今年 2 月,微软宣布将用 Git 管理 Windows 源代码.随后,Visual Studio 宣布开发 "Git 虚拟文件系统(GVFS)",并将在终极项目和超 ...
- MMIT冠军方案 | 用于行为识别的时间交错网络,商汤公开视频理解代码库
作者 | 商汤 出品 | AI科技大本营(ID:rgznai100) 本文主要介绍三个部分: 一个高效的SOTA视频特征提取网络TIN,发表于AAAI2020 ICCV19 MMIT多标签视频理解竞赛 ...
最新文章
- datagrid数据表格当数据为0的时候页面不显示数据
- 成功解决ModuleNotFoundError: No module named 'torchvision.ops'
- USTC English Club Note20171012(4)
- FaceBook推出的Android图片载入库-Fresco
- 操作 Wave 文件(14): waveOutSetPlaybackRate、waveOutSetPitch
- 蓝桥练习-算法训练 区间k大数查询
- NetBeans 7.2 beta:更快,更有用
- 工作124:报错可以直接查看下面红字寻找对应的报错
- Office2007打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”的解决办法...
- apache禁用不安全的http法_tomcat禁用不安全的HTTP方法
- c++注册表操作(未完成)
- 小白入职AI数据工程师
- Apollo使用ConfigBean装载配置
- VMWare——window server 2008/2012 administrator 密码忘记,设置重置密码
- gispython定义查询_定义查询方法
- 距离考研还有2天,我还活着
- 数据之路 - Python爬虫 - Scrapy框架
- windows删除“找不到该项目”的文件
- 哪一类功率放大电路效率最高_高频放大电路原理详解及应用电路汇总
- mysql的to char data_数据库中的to char