提高代码简洁度的工具类合集 日常开发中整理的一些开箱即用的开源工具类,帮助减少冗余代码和项目中的重复轮子,主要提供商包括 Spring, Apache common-lang3, Lombok, Guava。 Assert12345678910111213// original codeif (input == null) { throw new IllegalArgument("given arg 2020-02-24 CleanCode #CleanCode
记一次有趣的代码重构 我等采石之人,当心怀建造大教堂之愿景。——《程序员修炼之道》 发现代码重构和灭霸的响指有一个共同点,两者的出发点都是为了消除系统之中的一部分,让剩下的另一部分存活得更好,从而使得整个系统运更为有序。 不同之处就是灭霸是无差别清除,而重构对于代码的清除却是经过深思熟虑精心设计的。 闲话少说,下面开始正题。 重构前背景是足球比赛的项目,需要处理各种类型的比赛数据。 比赛数据的展示维度如图: 2020-02-14 CleanCode #CleanCode
大搜车异步任务队列中间件的建设实践 本文源自于一次部门内部的技术分享,首发于部门的微信公众号,后被 InfoQ 转载。 前言异步任务处理在系统设计中是一个十分常见的场景, 例如将耗时任务异步化, 流量削峰, 接口的延时回调等等。 对于异步任务, 最最常见的一种实现方式就是 JDK 的线程池了, 使用线程池可以满足大多数异步化的场景, 但它还是有一些局限性: 一方面它是基于内存的, 一旦机器宕机异步任务就丢失了, 可靠性不足; 2019-08-20 DistributedSystem #DistributedSystem
编程随想录 — 代码注释 关于代码注释应该有不少书籍讨论过了, 比如《Clean Code》, 这里我还是想结合一些个人经验, 简单表达一些关于代码注释最佳实践的看法.关于注释我们在项目中可能会遇到如下几种情况: 无用的注释 《Clean Code》里列举了很多种Bad Comments, 其中就包括Noise Comments: Sometimes you see comments that are nothing b 2019-07-02 CleanCode #CleanCode
TDD 在企业开发中的实践 前言 Why 我们为什么要花额外的时间写测试,自动化测试可以给我们带来什么好处? How 分享测试方法论和一些测试实践, 在企业级项目中如何做好测试, 网上多是 Hello World 级别的测试 Demo, It’s not enough! 为什么写测试?为什么花这么大精力写测试,需要利益驱动 测试用例扮演的角色: ⛑️保护网 💡引路人 1. 提高项目质量可靠性交付代码质量保障 2019-04-04 TDD #TDD
A Spock Tutorial for Java Developers A Spock Tutorial for Java DevelopersWhat is it? The description of its github repository: The Enterprise-ready testing and specification framework. A Quote from the office website: Spock is a tes 2019-01-28 TDD #TDD
SpringBoot 原理分析 SpringBoot 简介 约定大于配置, 开箱即用, 最小化配置(包括 maven/gradle 和代码里配置) 快速搭建服务,如微服务实战 SpringBoot 特性 内嵌servlet容器: jar包启动 命令行参数 简化构建工具的使用,如 maven 依赖管理 parent pom "dependencyManagement" AutoCon 2018-11-30 Spring #Spring
奇葩说第五季 17 期 “全人类大脑一秒知识共享” — 我想到的反方杀手锏 辩题:奇葩星球新技术可以让全人类大脑一秒知识共享,你支持吗? 今天中午看完了奇葩说,感觉反方好难辩呀,除了薛教授以外很难再找到什么强有力的点。和一个兄弟在电话里也讨论过,发现仔细想的话这个题目本身就是一个悖论在逻辑上是很奇怪的一件事(这个就像梁文道最后说的)。晚上在回家的路上突然想到反方的一些点,其实是可以从题目本身的荒谬性入手延展出一些东西来的,一时兴起把这些想法记下来了,类似于草稿 2018-11-17 Essay #Essay
成为 1.1 倍程序员 - 实用效能工具分享 10 倍程序员一直是一个经久不衰的话题,然而 10 倍程序员对于很多人来说是一个遥不可及的目标,不过我们可以通过各种实用工具🔧提高自己的生产效率,先让自己成为一个 1.1 倍程序员。 乘以十太困难了, 那就先加百分之十吧! 下面分享几款我日常使用的实用工具, 因为本人 win 和 mac 都用过,所以对于同一类型的功能需求我会对两种平台下的工具都做一下介绍。 文件快速搜索Listary (w 2018-10-21 Productivity #Productivity
Java Integer 的自动装箱和缓存机制 — 一道面试题引出的有趣问题 背景最近遇到一道Java面试题, 感觉很有意思, 和大家分享一下.是远程在线做题的, 可以使用自己的IDE. 题目12345678910private static void swap(Integer a, Integer b) {}public static void main(String[] args) { Integer a = 1; Integ 2018-06-26 Java #Java