12 火星人陈勇

尚未进行身份认证

我要认证

火星人,敏捷开发咨询师,早期软件成本估算咨询师,资深程序员

等级
TA的排名 221

陈旧语法密度之八——使用多态消灭if-else if-else

用多态消灭if – else if - else如果说泛型消灭行为相同、类型不同的分支语句,多态则消灭(父)类型相同、行为不同的分支语句。我在1999年曾经写国庆阅兵的直升飞机编队指挥系统,其地面的核心是一个地图显示系统。地图的显示代码大致如下:public class PlaneMap { List<MapItem> items = new ArrayList<>...

2018-04-01 23:23:31

陈旧语法密度之七——用泛型消灭if-else if-else

用泛型消灭if – else if - else消灭if-else if - else的方法多种多样,其中看似远在天边的泛型是一种方法。这种方法多用在每个分支看上去非常相近,甚至有点眼花缭乱的情况。比如:public class FormulaValueOld { public enum Types {Integer, BigInteger, Float } //... 10 types...

2018-04-01 23:22:24

陈旧语法密度之六——用Map消灭if-else if-else,“上帝代码”

用Map消灭if-else if-else尽管三元表达式已经很简洁了,然而仍然不是最优解。此处的最优解是Map:public static final Map<String, String> operator2Revoperators = Map.of( "=", "!=", "==", "!=", "!=", &quo

2018-04-01 23:22:09

陈旧语法密度之五——用三元表达式消灭if-else if-else

用三元表达式消灭if-else if-else前例的三元表达式实现如下:public String getReversedOperator2() { return operator.equals("=") ? "!=" : operator.equals("==") ? "!=" : opera...

2018-04-01 23:21:56

陈旧语法密度之四——用直接删除switch case的方法消除switch case

用直接删除switch case的方法消除switch case以下的代码的代码看似极具娱乐性,然而却都是真实案例。第一个案例来自于2001年左右的一个C++产品,给人印象如此之深,以致于十多年来记忆几乎分毫不差:public int returnN(int n) { switch (n) { case 1: return 1; case 2: return...

2018-04-01 23:19:30

陈旧语法密度之三——用直接删除else的方法消除if-else if-else

用直接删除else法消除if-else if-else这几节先说一些简单的情况,在基本语法的层面,即使是仍然保持面向过程的编码,也能消除。请看下面的代码:public String getReversedOperator3() { if (operator.equals("=")) { return "!="; } else if (operator.equals("...

2018-04-01 23:18:55

陈旧语法密度之二——switch case和if-else if-else的坏处

switch case和if – else if - else的坏处要想写出超长方法,就写一个switch-case,如果觉得不够长,就再写一个。本人亲自重构过的有记录的最长的一个方法包含502个switch-case,加上每个case中一行实际工作代码,外加一些函数声明等,最终高达1030行。值得提一下的是重构后这个方法只有1行实际工作代码。实际上整个2000多行的模块重构后一共也只有180行。...

2018-04-01 23:18:18

陈旧语法密度之一——什么是陈旧语法

陈旧语法密度Why为何存在陈旧语法在面向过程的编程语言中(以C最为典型),有一些语法容易造成代码臃肿、重复、单个函数长度大、代码过于集中或过于分散造成编写、阅读和维护困难。在出现面向对象语言之后(以C++/C#,Java最为典型),一些新语法结构通过封装、继承、多态等措施根本上消除了这些存在问题的语法。然而为了直接调用原有代码模块(如C++调用C),或间接复用原有代码的结构(如将C语言的加密算法原...

2018-04-01 23:17:39

Java重构与TDD测试驱动开发实际案例一-陈勇-专题视频课程

本课程将高深的重构与TDD理论埋藏在一个实际案例中,深入浅出地演示了重构与TDD的完整步骤。在这个真实的案例中,一个银行项目的2000多行的模块,终被重构为仅有160多行,并实现了单元测试级别的自动化测试。实际重构耗时1天,本课程将1天的时间用近百个片段重现出来,并增加了一些新功能来演示更多重构所需的技术。...

2018-03-05 09:16:15

2015-11-24敏捷统一过程公开课的相关资料

公开课名称:产品研发敏捷统一过程AUP2.0官方链接:http://huiyi.csdn.net/activity/closed?project_id=2619本来今天答应大家在这里上传附件的,刚发现“您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net”,估计是个Bug。等解决后,我会上传课件和模板并把链接放置在这里。其中提到的关键需求分析技术在此免费

2015-11-25 00:24:04

火星人敏捷开发1001问(第一季)-陈勇-专题视频课程

此课程为敏捷开发的课程,聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节,从而令学员不但得到可行的答案,更能思考答案背后隐含的敏捷思想。...

2015-02-03 15:31:20

火星人敏捷开发1001问(第二季)-陈勇-专题视频课程

此课程为敏捷开发的课程,聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节,从而令学员不但得到可行的答案,更能思考答案背后隐含的敏捷思想。...

2015-02-03 15:30:40

火星人敏捷开发手册视频培训上线了!

CSDN教育频道上线说起来已经是旧闻了,《火星人敏捷开发手册》的网址是:http://edu.csdn.net/course/detail/164以前录制过一个1小时的版本,不过讲解得没有这次15分钟×8课时的好。

2015-01-18 21:13:58

火星人敏捷开发手册-陈勇-专题视频课程

本课程讲师是CSDN下载总量超过一万人次的《火星人敏捷开发手册》的作者,课程中将以PPT+视频方式讲解《手册》,适合个人学习、敏捷开发现场培训预习、企业推广敏捷开发等场景。除了《手册》中的原有内容外,还将包括讲师正式培训中相应的一些内容,以便深度了解Scrum敏捷开发的全过程。...

2014-11-27 12:31:08

《IT职场人生》百度阅读图书出版

本书是IT职场人生系列博客的改编版本,增加了若干新的章节。图书为免费,注册百度阅读用户(或用已有百度用户登录),即可领取。下载客户端后可在移动设备上阅读。图书链接:http://yuedu.baidu.com/ebook/af550a37561252d381eb6e1c###

2014-09-22 17:58:40

QUML建模第一层:角色-业务图实现愿景(3)

本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 愿景取舍——高层优先级排序画完图后,产品经理和项目经理一起找到马总。马总:一口气画了4张?第4张好像很强大啊,我们提到的需求都涵盖了,而且还把评价分为了文字和数值

2014-09-15 18:01:55

QUML建模第一层:角色-业务图实现愿景(2)

本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 角色-业务图(RB图)下面是QUML中使用的方法,称之为“角色-业务图”(Role-Bussness Diagram,简称RB图)。通过分析角色和主要业务,表达愿

2014-09-15 18:00:22

QUML建模第一层:角色-业务图实现愿景(1)

本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 本章讲解如何将非常模糊的高层需求,也就是愿景,表达为一个清晰、简单、确定的模型。基于这种简单的模型进行开发,要比基于大段似是而非的文字更容易得到最终想要的结果。什

2014-09-15 17:58:09

《QUML系列图书》写作计划

QUML作为UML、功能点分析FPA、敏捷开发三种管理方法的集大成者,可以被应用于不同的场景。以下的图书各自侧重于一个方面,供不同领域的读者选择。《QUML:量化需求分析与建模》本书从需求分析与建模的角度,介绍QUML的结构、规则、使用方法,是QUML的基本图书。全书通过对一个电商网站的实例分析,分层次地介绍了QUML的结构、用途、规则和最佳实践;书中还概要地对如何将UML应用于早期估算、产品版本

2014-09-11 10:04:04

《QUML:量化需求分析与建模》节选之五:一个量化管理项目的一生(4)

本书由本人编写,于2014-09-09在百度阅读首发,博客将转载试读部分的20%内容,以及非试读章节的某些片断。电子版链接:http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 第三个月​结项度量第三个月月底,项目成功交付。看惯了文山会海,高层领导希望这个小项目做一个简短的总结。结果他看到了下面的表格:功能点耗时率是指完成每个功能点需要5

2014-09-11 09:08:50

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!