![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高效
设计之下
曾经做过4年的智能家庭项目,熟悉设备发现、互联互通等技术。后做了2年的敏捷实施与项目管理,目前与朋友一起经营一个创业,从事将于项目的移动互联网项目。
展开
-
识别代码的坏味道(四)
要想重构就需要先识别代码中存在的问题,然而问题有多种也分轻重缓急,所以Code Smell(代码坏味道)可以看作是应该首先动手解决的问题,因此重构过程可以抽象成如下简单的过程。在之前的文章中介绍了常见的 22 种代码坏味道:《识别代码中的坏味道(一)》《识别代码中的坏味道(二)》《识别代码中的坏味道(三)》本本将介绍其他 3 个代码坏味道:反复使用单个临时变量无业务意义的临时变量方法结果返回 null多层条件嵌套有副作用的查询方法假设条件符合01 反复使用单个临时变量使用单.原创 2020-05-20 16:18:36 · 328 阅读 · 0 评论 -
识别代码中的坏味道(三)
前两篇文章 《识别代码中的坏味道(一)》 和 《识别代码中的坏味道(二)》 中已经介绍了 18 个代码坏味道。《重构》中还涉及到另外 4 个代码坏味道,本文将将详细介绍剩余的 4 个代码坏味道。这四个代码坏味道是:中间人(Middle Man)狎昵关系不完美的库类被拒绝的遗赠01 中间人(Middle Man)在上一篇文章中 《识别代码中的坏味道(二)》 中在“过度耦合的消息链”这种代码坏味道曾经提及过中间人(Middle Man)这种代码坏味道,那么中间人到底是一类什么代码呢?中间人原创 2020-05-19 11:45:59 · 385 阅读 · 0 评论 -
识别代码中的坏味道(二)
在上一篇文章中,介绍了通过名字就能理解的 8 个坏味道,感兴趣可以查看识别代码中的坏味道(一)。本篇文章将识别代码中的另外 10 个代码坏味道:10个晦涩但是通过简单的即可识别的坏味道。如上图,这 10 个代码坏味道是:发散式变化霰弹式修改依恋情结数据泥球基本类型偏执平行继承体系冗赘类过度耦合信息链异曲同工的类纯数据类01 发散式变化简而言之就是一个类总是因为不同类型的原因发生变化。例如:需要修改数据源时要修改该类,需要修改缓存时还需要修改这个类,甚至当修改某个策略的计算公.原创 2020-05-18 16:41:25 · 602 阅读 · 0 评论 -
识别代码中的坏味道(一)
在前面的文章中,我们介绍了 《提升编程效率:重构》 以及 《何时开始重构?》。了解了那些能够更好的辅助团队或者个人进行重构,但是要让重构真正产生作用是需要能够代码中的坏味道,并消除代码中的坏味道。如下图是工作中常见的代码的坏味道:上图中的坏味道出自《重构》这本书,虽然并不是全部,但是涵盖了日常中最常见的一些代码坏味道。接触这些坏代码可以分为三类:见名知意的代码坏味道:稍微解释即可掌握的代码坏味道;通过一些例子即可掌握的代码的坏味道;本文主要聚焦在“见名知意的代码坏味道”,后.原创 2020-05-16 18:55:29 · 966 阅读 · 0 评论 -
何时开始重构?
“任何时候都可以重构”,如果这样回答太过于宽泛,因为总有那么一些时候重构的 ROI (投入产出比)并不高,设置与对重构还不那么熟悉的开发者相当于什么都没有说。所以整理了下日常开发中进行重构的时间点,从而来帮助提升开发效率和重构效率。如上图:日常重构的时间点可以分为上述三个时间点。Tasking 之后,开发之前进行重构;开发过程中,进行小步重构;修复 Bug 时进行重构;01 Tasking 之后,开发之前进行重构Tasking 指的是任务拆解(如果不熟悉,可以看这个视频 或者 看这篇文章原创 2020-05-15 17:15:05 · 282 阅读 · 0 评论 -
提升编程效率:重构
提升编程效率的大致可以分三类:任务拆解(Tasking To Action)、使用高效的开发工具/框架、关注高效的工程实践。其中任务拆解,我们在【实战TDD(2):Tasking To Action】(视频版) 中介绍了过了。开发效率的工具/框架也才不但涌现,例如:Spring Boot、Spring Cloud、Elasticsearch 、Intellij IDEA 等为开发提供了不同领域的高效工具。工程实践的也涉及到很多,比如:TDD、重构、Clean Code 等。在过往的工作经历中,发现.原创 2020-05-15 15:09:52 · 417 阅读 · 0 评论 -
善用技术债
01 技术债是什么?白话的解释就是技术上的债务。比如:(1)功能已经实现,但是需要手动做很多配置的事情,不可复用;(2)某个功能为热点功能业务上更重要,因此单位时间内对该功能的技术支持更完善,其他功能凑合能用。(3)由于思路不严谨,导致某个功能状态为开发完成,但是其中功能并不完整。以上 3 个是常见的技术债,类似的技术债还有很多。技术债具有两面性:(1)技术债带来的好处: 技术有杠杆,加杠杆,有可能带来高的ROI(投资回报率); 有限时间内将精力用到最关注的地方;(2)技术债.原创 2020-05-14 23:27:54 · 211 阅读 · 0 评论 -
实战 TDD(9):Pair Programming
Pair (结对)已经不是什么新鲜的事情。工作中我们进行 Pair。但是也会经常发现一个问题:“两个人单纯的坐在一起工作或者被领导命令坐到一起工作,并没有什么工作效率提升的“。工作中许多人对 Pair 这个词的理解多于 Pair 应该怎么做的理解。这篇文章将详细描述关于 Pair 的中的详细细节,主要设计内容如下:什么是 Pair Programming?为什么我们要做 Pair Prog...原创 2020-04-20 21:18:22 · 409 阅读 · 0 评论 -
从刻意练习到高效工作
2020 年过年回来在家办公的同时组织了一个能力学习小组—刻意练习小组。到目前为止时间已经过去 2 个多月,通过这个活动也是收获良多。主要收获包括以下两个方面:(1)活动运营能力(2)工作效率改进01 活动运行能力刻意练习活动的从想法到成型主要是基于三部分信息的整合。(1)服务设计原则(2)直觉(3)过往活动的经历。服务设计原则。服务设计常用的有 5 个原则,如下:完整性...原创 2020-04-19 15:56:57 · 200 阅读 · 0 评论 -
实战Arch Unit
在以前的文章中介绍了通过 《实战PMD》、《实战Checkstyle》在代码级守护我们的代码,比通过《实战Jacoco》来了解当前项目的测试覆盖情况。通过得到数据了解我们的项目质量,进行定向的改进。使用这些简单方面的自动化工具比凭空猜想或者全靠人力来接发现代码上的问题,效率高多了。这篇文章将聚焦在Arch Unit上,Arch Unit能通过为我们提供架构的守护。开发前的准备项目...原创 2020-02-15 22:43:33 · 592 阅读 · 1 评论 -
简单4步实现高效远程办公
最近翻出来几年前刚开始工作的工作笔记,回忆起我18岁使用QQ的时代就已经在考虑如何线上办公。那么结合自己的远程办公经历,整理一些实际可上手的实践,仅供参考。01,提前准备02,线上会议03,发现问题04,高级定制01,提前准备远程办公一个非常必要的前提就是提前准备,良好的提前准备能够很好的提高远程办公的效率。下面列了一些具体的办法。(1),清理办公区域(包括电脑内、办公桌上等...原创 2020-02-12 18:02:20 · 643 阅读 · 0 评论