首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代码整洁之道》

什么是整洁代码 代码的质量非常重要,糟糕的代码有可能会毁了一个公司。对于一个很注重代码质量的人来说呆在一个只关注交付而不关注代码质量的公司是很痛苦的。 什么是整洁的代码,不同的人又不同的定义。...这类注释在一些项目中很普遍,而且有时会被严格要求写,但书中强调现在的源代码都会有源代码工具来进行管理,修改记录在源代码工具中有保存,这种日志式的注释应该全部删除。...有的开发人员喜欢在注释中签上自己的名字,这种做法也没没有必要,因为我们有源码管理工具。...项目代码中经常会出现被注释掉的代码,这对后面的维护人员会造成困扰,也会使代码变得混乱,这种代码同样可以删掉,因为我们有源码管理工具。 错误处理 错误处理简单来说就是当软件出现错误时还能正常工作。...公共函数跟在变量之后,一些供公共函数调用的私有工具函数在公共函数之后。 和函数一样,类也应该要尽可能的短小。但和函数不同不是以代码行数来权衡,而是以职责。

85220

zepto 源码之工具函数

Zepto 提供了丰富的工具函数,下面来一一解读。 源码版本 本文阅读的源码为 zepto1.2.0 $.extend $.extend 方法可以用来扩展目标对象的属性。...$.camelCase 该方法是将字符串转换成驼峰式的字符串 $.camelCase = camelize $.camelCase 调用的是内部方法 camelize ,该方法在前一篇文章《Zepto...$.isArray 判断是否为数组 $.isArray = isArray $.isArray 调用的是内部方法 isArray ,该方法在前一篇文章《Zepto源码之内部方法》中已有阐述。...$.type 类型检测 $.type = type $.type 调用的是内部方法 type ,该方法在前一篇文章《Zepto源码之内部方法》中已有阐述。...能检测的类型有 "Boolean Number String Function Array Date RegExp Object Error" 系列文章 Zepto源码之代码结构 Zepto 源码之内部方法

77700
您找到你想要的搜索结果了吗?
是的
没有找到

图解|Linux文件预原理

概述 本文主要阐述内核(linux-3.12)的文件系统预设计和实现。...当然,这个细节对应用程序透明,应用程序可能的感觉就是下次的速度会更快,当然这是好事。文中我们会通过设置几个情境(顺序、随机、多线程交织)来分析预的逻辑。...情境1:顺序 // 事例代码 { ......文件的预窗口状态为 (ra->start,ra->size, ra->async_size)=(0, 4, 3) 本次的请求为(offset,size)=(1, 2),上面代码的判断条件成立,因此我们会向前推进预窗口...本次预窗口的起始以及大小以及预大小可根据前一次的预窗口计算得到,又由于本次是异步预,因此,预大小就是本次的页面数量,因此将本次预的第一个页面(PAGE 4)添加预标记。

6410

我是怎么代码

代码,则是缓解焦虑的良方。 每当读懂软件的精彩设计,赞叹优美整洁的代码,甚至发现藏在注释中的彩蛋时,都好像在不同的时空与作者产生了交叉,畅快地聊了会儿天。 代码很有趣,但要通读懂也很费功夫。...本文是我在日常代码中积累的一点心得,分享出来,希望能与大家产生共鸣。 1. 寻找一位好老师 优秀的项目就像一位好老师,我们可以从它身上全方位地学到各种领域知识。...不过在开始代码之前, 最大的问题就是:怎么样才能找到合适的代码项目? Star 数高的项目更优秀吗?...不少代码片段都是比较枯燥而难以阅读的(比如“飞一般”的位操作,为提升性能而莫名其妙的语句,或是包含了大量隐含知识等等),只有自己感兴趣,才会有下去的意愿和动力,才能在其中发现乐趣。...结语 本文是我日常代码的一点经验,总结下来,就是要 仔细地选择学习的项目; 先通过文档了解全景,再逐步深入代码; 找对抽象和边界,能帮助我们建立思考模型; 写篇文章讲述代码的设计,是深入理解代码的好办法

1.2K20

Linux小说「GitHub 热点速览 v.22.03」

作者:HelloGitHub-小鱼干 本周特推选取了一个画风有点意思的 Linux 代码项目 flash-linux0.11-talk,希望有趣的文风能带你读完 Linux 代码。...标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目》。 1....本周特推 1.1 小说一样 Linux:flash-linux0.11-talk 本周 star 增长数:1,050+ flash-linux0.11-talk 带你 Linux 0.11 核心代码并理解背后的操作系统设计思考...,按照作者的宣言“你管这破玩意叫操作系统源码 — 像小说一样品读 Linux 0.11 核心代码”这是一个 Linux 代码项目,可以从章节(节选)感受下画风: 第 5 回 进入保护模式前的最后一次折腾内存...一个强大的下载工具,能下载图片、视频、音乐、文本等等格式文件,而你只需要复制粘贴一个网页地址即可。

3.3K20

Go 源码,可以试试这个工具

原文链接: Go 源码,可以试试这个工具 编程发展至今,从面向过程到面向对象,再到现在的面向框架。写代码变成了一件越来越容易的事情。...想要技术水平有一个质的飞跃,有一个很好的方法,就是源码。 但源码真的是一件很有挑战的事情。 想想当年自己 Django 源码,从启动流程开始看,没走几步就放弃了,而且还放弃了很多次。...有一个方法我觉得挺好,可以带着问题去源码 在解决问题的过程中也就对源码更熟悉了。 还有一点要注意的就是,先看整体,再看细节。...在这里推荐给大家一个工具,这个工具可以帮我们梳理出代码的整体结构,我觉得还是挺有用的。...你有什么好用的工具吗?欢迎给我留言交流。

62700

《重构:改善既有代码的设计》

一个项目运行久了,经过业务需求的迭代,开发人员的变更,总会产生一些质量不高的代码,要么来源于对某些业务理解的不太深,要么来源于对一些紧急变更的后遗症,往往遇到这种情况,我们会适时的引入重构,避免破窗效应...重构其实不仅可以重新梳理下我们的业务场景,梳理我们代码的逻辑,让其更贴合业务,更重要的是可以让开发人员有机会再次设计我们的系统,结合一些更好的开源项目和技术,提升团队的技术氛围。...是在不改变系统行为的前提下,对内部代码的重新组织,提高可理解性和降低修改成本。 为什么要重构?...一个小修改牵涉到了多个地方,且这些点处于未知状态 不易读懂代码(包括读懂自己1个月前的代码) 新手修改代码上手慢,需要很久才能进行有信心的代码修改 需求变化时,代码层面响应慢 什么时候需要重构?...: 存在重复代码时 函数体太长 函数参数太长 无法直观的看出代码逻辑 类太大 对一个常量存在了多个副本 很多很多的if/else/switch语句 类名、函数名、方法名不友好 重构与性能 重构为先,调优其次

62440

深度学习caffe的代码怎么

当然你看一遍不理解,再看一遍,忘了,再看,个几遍你才会对推导过程和数学符号熟悉。我头脑不大行,来来回回看了好多次。...在Ufldl的基础上这个,你应该可以很快掌握全连接层的反向传播。...我是去年底开始看Caffe代码的,看代码的时间加在一起也不到一个月,也算半个新手,我的回答是从新手角度作一个入门阶段的经验分享。 本文只涉及Caffe结构的相关问题,不涉及具体实现技巧等细节。...正好最近的工作与Caffe相关,就把网上已有的一些资料以及自己 代码时候的亲身经历简单地整理了一下,希望能对大家有所帮助~ ====================================...============== 说到这儿,大家可能已经对Caffe的自底向上的主要结构有了一个大致的了解~ 除了这些之外呢,Caffe里面还涉及到了许多特色模块,比如google的轻量级高效数据传输工具

1.5K10

【源码共】Vue2工具函数

【源码共】Vue2工具函数 前言 github仓库地址 在线地址 点击在线地址查看,会发现该文件实际上有很多函数。实际上就是Vue2的工具函数库。下面就来简单学习一下。...因为源码用的是ts,理解起来可能会加点成本,所以下面讲解会把类型部分去掉(其实是本人的ts水平不高,很难很好的解释) 工具函数 1....;console.log(Object.isFrozen(freezeObj)); // trueconsole.log(Object.isFrozen({})); // false 那么这个工具库的这个不是函数的变量有什么作用呢...本质应该和isTrue一样,更适合大型项目的开发,比如代码易读性之类的。...后面查了下资料:noop的主要作用是为一些函数提供默认值,避免传入undefined之类的数据导致代码出错。

79030

Linux内核32--拷贝-更新(RCU)

所以,Linux内核引入了-拷贝-更新技术(英文是Read-copy update,简称RCU),它是另外一种同步技术,主要用来保护被多个CPU读取的数据结构。...当然了,在此期间操作不能发生休眠。 (3)调用rcu_read_unlock(),离开RCU保护的临界代码段。等价于调用preempt_enable()。...(3)调用synchronize_rcu,等待所有的操作都离开临界代码段,完成同步。 RCU技术的真正问题是当写操作更新了指针后,旧数据的存储空间不能立马释放。...因为,这时候操作可能还在读取旧数据,所以,必须等到所有的可能的操作执行rcu_read_unlock()离开临界代码段后,旧数据的存储空间才能被释放。...4 使用场合 RCU是从Linux2.6版本引入的,主要使用在网络层和虚拟文件系统层。

1.6K10

Java8文件方法代码学习

Java8文件方法代码学习   JDK7中引入了新的文件操作类java.nio.file.File,它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件。...使用forEach()方法,可以只用一行Java代码实现把文件的所有内容输出到控制台,如下面第三个代码片段。...File = sb.toString(); System.out.println(fromFile); } }   如果使用的不是JDK7,而是JDK8,那么一行代码即可完成文件...; public class FileIntoString { public static void main(String[] args) throws IOException { // 一行代码搞定文件...class Java8FileReader { public static void main(String[] args) throws IOException { // Java8用流的方式文件

1.5K100

5000行的 SQL 源代码,怎么

还显得代码量大,失去耐心。” “那我还原成原先的格式,也有近 3000 多行,还是多啊” “这阅读源代码啊,是有技巧的。我可以分享三点给你。分别是,通读,联想,批评。”...首先告诉自己,一遍读完就能通晓5000行代码细节,是不可能的事情。代码前,耐心先行。接着就是开始第一遍的阅读。...如果你对读到的代码,没有任何要抱怨,没有任何疑惑,那说明还没理解到位。当你看到这些代码,你认为嗯,这段写的很好,这段写的在理,都是这些溢美之词,那完了,你没深入。...且,书的优点在于,作者就像是代码评论家一样,告诉你为什么 SQL或者代码这么写,不如那样写来的高效,其中的原理是什么。这些都是你在分析具体代码时,可以学到的真正有用的东西。...我们应该在任何一段 SQL 中都找到可以学习的地方,最好是找到这段代码的设计弱点,比如子查询嵌套太多,不简洁;比如筛选条件不够优化,需要代码重构,这就是第三点,批评的实质。”

90520

《Clean Code 代码整洁之道》之感悟

盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊。...我那可爱的书架读懂了我的心思,很明事理的保护起来这本小可爱,未曾让它与我牵手 最近项目中的 bug 有点多,改动代码十分吃力,每看一行代码都带一句“这是什么XX代码啊,真XX难改”,这样持续了好几天,有天晚上坐在书房回想这几天发生的一切...如果类上没有标注日期和作者,alibaba代码检查工具会给出提示,就像这样: ? 这里建议大家在 IDE 中安装该插件,如果你不知道作为作者应有的规范,那就让这个插件辅助你吧 ?...据统计,代码与写代码花费的时间比例超过 10:1, 因为我们在写新代码时会一直在读旧代码,项目越到后期这个比例越明显 我们是作者,就有责任和读者做好沟通。...每次写代码的时候,记得自己是作者,要为评判你工作的读者写代码. ?

62120

Android 命名规范 (提高代码可以性)

android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的...,就要一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。...如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法...类共享的可以写成一个i额BaseActivity类 (基础共享的类) com.xx.应用名称缩写.adapter 页面用到的Adapter类 (适配器的类) com.xx.应用名称缩写.tools 此包中包含:公共工具方法类...NewDetailAdapter 解析类 Hlr为后缀标识 首页解析类HomePosterHlr 公共方法类 Tools或Manager为后缀标识 线程池管理类:ThreadPoolManager            日志工具

1.1K70

Linux下9种优秀的代码比对工具推荐小结

在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什么工具呢?...本文介绍 9 种 Linux 下常用的 9 种代码比对工具,不仅有命令行工具,还有 GUI 界面工具,让你轻松进行代码比对。...colordiff命令 colordiff 是一个 Perl 脚本工具,它的输出结果和 diff 命令一样,但是会给代码着色,并且具有语法高亮功能。...它的中文主页是:http://vimcdoc.sourceforge.net/doc/diff.html 以上介绍的两款是 Linux 命令行的对比工具,我们再来看一些 GUI 比对工具。 3....该工具的主页为:https://sourcegear.com/diffmerge/ 5. Meld Meld 是一个轻量级 GUI 代码比对工具,它支持用户比对文件、目录,并且高度集成版本控制软件。

2.5K31
领券