[终] 使用 scala macro annotation 实现配置项绑定 - 编程思维

一个话题值得写三篇, 可见我是多么认(gui)真(mao)的一个人. 续篇 相较 首篇 在定义上虽减少的噪音, 但其核心问题并没有得到完美的解决, 即: 一旦真要对配置重构个命名什么的, 必然是要改代码, 再改配置 写了这么些年的强类型语言, 每次阴沟里翻船都是在 "重构配置" 之后, 这让本是类型检查的优势成为了笑话. 上一 续篇 的最后, 我留下了一个 sbt-plugin 任务待完成,.

重构与intellij idea初探 - 编程思维

是时候讨论这个Refactor利器了,最初看到这个重构的过程是从ThoughtWorks郑大晔校开始的,只是之前对于Java的另外一个编辑器Eclipse的坏感。。这些在目前已经不是很重要了,试试这个公司里面应用广泛的编辑器。 开发过程 开发的流程大致就是这样子的,测试先行算是推荐的。 编写测试->功能代码->修改测试->重构 上次在和buddy聊天的时候,才知道测试

使用 reek 检查 feature branch 相关文件的 code smell - 编程思维

TL;DR 最近为 Rails 项目加了一个代码分析工具叫 Reek ,用来检查代码中的坏味道。因为项目已经有一段时间了,一跑就几百个提示。平时也没工夫专门优化代码。于是我想到一个折中的办法:只检查 feature branch 中修改了的文件,针对性地优化。 思路 像大多数 CLI 一样,Reek 也可以接受额外的参数来检查指定的文件。大概如此: $ bundle exec reek file

laravel之collection - 编程思维

Laravel 的 Collection 类其实有很多非常实用的方法,对于我们在优化循环的时候非常的有用,我们的目标就是:不再写 foreach 循环 ! 一、sum 求价格总和     我们会学习到 flatMap map sum 等非常实用的方法 collect($arr)->pluck('order_products.*.price')->flatten(1)->

基于python的代码重构(一) - 编程思维

相信在你的程序员生涯中,肯定有过这种体验:打开一个项目,开始看里面的代码,不大一会儿就想吐了——明明是同样的逻辑,为什么好几个地方都要重新写?表达同一个意思,为什么这里用type,那里用category?更别说还有YiChuiDingYin这种神一样的变量名存在了。你不禁恶向胆边生,打开git log想看看是谁写下如此丧心病狂的代码,结果赫然发现了自己在5个月前留下的名字!于是你默默咽了一口苦水,

6 个重构方法可帮你提升 80% 的代码质量(转)_沧海一滴-编程思维

英文原文:Top 6 Refactoring Patterns to Help You Score 80% in Code Quality   在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名: 臃肿的类: 类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上缺少关联的方法都放在了