改改"坏"代码】的更多相关文章

程序猿很多时候费了九牛二虎之力使用各种黑科技实现了某个功能,终于可以交差,但整个过程就像个噩梦,一般人是不太愿意回过头去阅读自己写的代码的,交出去的代码就让它如往事般随风吧. 可你不愿读自己的代码,却避免不了去读别人的代码,正如别人不愿读你的代码一样.因果循环,相互纠缠,出来混,迟早要还的. 下面是我从一款开源CMS系统中摘出来的代码,开源出来是很好的事情,在此仅从代码的角度来讨论一下. <?php function page($filename, $type = false) { global…
前言:写代码不仅仅要做到能与机器交流,更要做到能和人交流 编码规范:编码规范就是最佳实践,是前辈在编码这件事上的积累和总结,是智慧的延续和工业的实践,如下: ⑴命名规范 ⑵避免行数过多的方法 ⑶代码缩进 ⑷异常规范 ⑸设计规范 ⑹注释规范 ⑺文件的组织规范 ⑻配置规范 ⑼发布与部署规范 ⑽测试规范 ⑾SQL规范 以上规范都有N条法规,没有规范的编码,一定是有问题,潜伏着坏代码的幽灵. ⑴命名规范 对于命名规则,通常可选择的体系主要有: ⒈Pascal Casing 混合使用大小写字母,每个单词的…
这份最新研究指出,在后摩尔定律时代,人类所获得的的算力提升将更大程度上来源于计算堆栈的「顶层」,即软件.算法和硬件架构,这将成为一个新的历史趋势. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:1097524789 摩尔定律终结之后的性能提升途径. 算力的提升可以为现代生活带来诸…
FConfidence 关注 2018.12.30 02:38* 字数 2912 阅读 195评论 0喜欢 0 VSCode 插件安装 Prettier - Code Formatter ESLint VsCode 针对配置 // 如果保存的时候使用eslint --fix自动修复当前文件的话, 将其设置为true "eslint.autoFixOnSave": false, // 如果保存的时候使用prettier自动修复的话, 将其设置为true "editor.form…
几周前,我读了一篇名为“ Good Code vs Go Code中的错误代码 ”的文章,作者指导我们逐步完成实际业务用例的重构. 本文的重点是将“坏代码”转变为“良好代码”:更具惯用性,更易读,利用go语言的细节.但它也坚持将性能作为项目的一个重要方面.这引发了我的好奇心:让我们深入挖掘! 该程序基本上读取一个输入文件,并解析每一行以填充内存中的对象.   作者不仅在Github上发布了源代码,他还写了一个惯用的基准.这是一个非常好的主意,就像邀请调整代码并使用命令重现测量: $ go tes…
1.有意义的命名 名副其实,避免误导 做有意义的区分,简单明了2.函数 短小,职责单一 别重复自己3.注释 用代码来阐述 可怕的废话4.格式 垂直格式,垂直距离,空范围 横向格式,水平对齐,缩进5.错误处理 使用异常而非返回码 先写Try-Catch-Finally语句 别返回null值,别传递null值6.单元测试 TDD三定律 在编写不能通过的单元测试前,不可编写生成代码 只可编写刚好无法通过的单元测试,不能编译也算不通过 只可编写刚好足以通过当前失败测试的生成代码 保持测试整洁 每个测试一…
关于代码的管理问题已经讨论多年,随着企业业务的复杂度提高.软件行业技术栈的选择度变宽泛,现代软件的代码仓库也变得越来越庞大和复杂.一个中型项目,将测试代码.核心业务代码.编译构建.部署打包等基础设施的代码全部加起来,几十万行都是家常便饭.并且一个项目往往由多个团队进行协作,如何让多团队在对同一个项目的代码进行协作时不会相互干扰.相互制约,也是每个企业研发团队在实践中不断摸索的难题. 多仓库与单仓库 对于上文所说的一些问题,业界已经归纳了常见的代码仓库存放方式,常见的如单仓库和多仓库.大部分企业会…
我们这里要讨论的并不是 Laravel 版的 SOLID 原则(想要了解更多 SOLID 原则细节查看这篇文章)亦或是设计模式,而是 Laravel 实际开发中容易被忽略的最佳实践. 内容概览 单一职责原则 胖模型,瘦控制器 验证 业务逻辑应该放到服务类 DRY(Don't Repeat Yourself,不要重复造轮子) 优先使用 Eloquent 而不是查询构建器和原生 SQL 查询,优先使用集合而不是数组 批量赋值 不要在 Blade 模板中执行查询 & 使用渴求式加载(避免 N+1 问题…
  代码裤子:https://github.com/lotapp/BaseCode/tree/maste 在线编程:https://mybinder.org/v2/gh/lotapp/BaseCode/master 在线预览:http://github.lesschina.com/python/base/module/模块专题.html 老师休假度蜜月去了,这学期也到了尾声,小明同学觉得自己学的挺好的,在四处逛游的过程中看见了小潘的电脑,然后惊到了! In [1]: # 导入matplotlib…
安装yum-cron.iptables .关闭selinux yum -y install cronie yum -y install yum-cron systemctl start yu,-cron systemctl start yumcron systemctl start yum-cron yum -y install yum-cron systemctl status yum-cron sed -i 's/SELINUX=enforcing/SELINUX=disablde/g' /…