<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陈勇的博客 - Scrum 敏捷开发培训咨询，绩效管理，团队管理，《火星人敏捷开发手册》]]></title><description><![CDATA[敏捷开发培训咨询 敏捷开发免费工具 免费培训教材《火星人敏捷开发手册》 IIOM咨询总监 火星人首席架构师兼主程序员]]></description><link>https://blog.csdn.net/cheny_com</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; cheny_com]]></copyright><item><title><![CDATA[编码消耗率CCR，“上帝代码”，反射，简洁代码]]></title><link>https://blog.csdn.net/cheny_com/article/details/117462923</link><guid>https://blog.csdn.net/cheny_com/article/details/117462923</guid><author>cheny_com</author><pubDate>Thu, 03 Jun 2021 21:59:51 +0800</pubDate><description><![CDATA[(32条消息) 陈旧语法密度之六——用Map消灭if-else if-else，“上帝代码”_陈勇的博客 - Scrum 敏捷开发培训咨询，绩效管理，团队管理，《火星人敏捷开发手册》-CSDN博客
]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之八——使用多态消灭if-else if-else]]></title><link>https://blog.csdn.net/cheny_com/article/details/79777026</link><guid>https://blog.csdn.net/cheny_com/article/details/79777026</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:23:31 +0800</pubDate><description><![CDATA[用多态消灭if – else if - else如果说泛型消灭行为相同、类型不同的分支语句，多态则消灭(父)类型相同、行为不同的分支语句。我在1999年曾经写国庆阅兵的直升飞机编队指挥系统，其地面的核心是一个地图显示系统。地图的显示代码大致如下：public class PlaneMap {
    List&amp;lt;MapItem&amp;gt; items = new ArrayList&amp;lt;&amp;gt;...]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之七——用泛型消灭if-else if-else]]></title><link>https://blog.csdn.net/cheny_com/article/details/79757419</link><guid>https://blog.csdn.net/cheny_com/article/details/79757419</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:22:24 +0800</pubDate><description><![CDATA[用泛型消灭if – else if - else消灭if-else if - else的方法多种多样，其中看似远在天边的泛型是一种方法。这种方法多用在每个分支看上去非常相近，甚至有点眼花缭乱的情况。比如:public class FormulaValueOld {
    public enum Types {Integer, BigInteger, Float } //... 10 types
...]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之六——用Map消灭if-else if-else，“上帝代码”]]></title><link>https://blog.csdn.net/cheny_com/article/details/79759456</link><guid>https://blog.csdn.net/cheny_com/article/details/79759456</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:22:09 +0800</pubDate><description><![CDATA[用Map消灭if-else if-else尽管三元表达式已经很简洁了，然而仍然不是最优解。此处的最优解是Map：public static final Map&amp;lt;String, String&amp;gt; operator2Revoperators = Map.of(
        &quot;=&quot;,    &quot;!=&quot;,
        &quot;==&quot;,   &quot;!=&quot;,
        &quot;!=&quot;,   &quo]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之五——用三元表达式消灭if-else if-else]]></title><link>https://blog.csdn.net/cheny_com/article/details/79758566</link><guid>https://blog.csdn.net/cheny_com/article/details/79758566</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:21:56 +0800</pubDate><description><![CDATA[用三元表达式消灭if-else if-else前例的三元表达式实现如下：public String getReversedOperator2() {
    return operator.equals(&quot;=&quot;)
            ? &quot;!=&quot;
            : operator.equals(&quot;==&quot;)
            ? &quot;!=&quot;
            : opera...]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之四——用直接删除switch case的方法消除switch case]]></title><link>https://blog.csdn.net/cheny_com/article/details/79775290</link><guid>https://blog.csdn.net/cheny_com/article/details/79775290</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:19:30 +0800</pubDate><description><![CDATA[用直接删除switch case的方法消除switch case以下的代码的代码看似极具娱乐性，然而却都是真实案例。第一个案例来自于2001年左右的一个C++产品，给人印象如此之深，以致于十多年来记忆几乎分毫不差：public int returnN(int n) {
    switch (n) {
        case 1: return 1;
        case 2: return...]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之三——用直接删除else的方法消除if-else if-else]]></title><link>https://blog.csdn.net/cheny_com/article/details/79757456</link><guid>https://blog.csdn.net/cheny_com/article/details/79757456</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:18:55 +0800</pubDate><description><![CDATA[用直接删除else法消除if-else if-else这几节先说一些简单的情况，在基本语法的层面，即使是仍然保持面向过程的编码，也能消除。请看下面的代码：public String getReversedOperator3() {    if (operator.equals(&quot;=&quot;)) {
        return &quot;!=&quot;;
    } else if (operator.equals(&quot;...]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之二——switch case和if-else if-else的坏处]]></title><link>https://blog.csdn.net/cheny_com/article/details/79756396</link><guid>https://blog.csdn.net/cheny_com/article/details/79756396</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:18:18 +0800</pubDate><description><![CDATA[switch case和if – else if - else的坏处要想写出超长方法，就写一个switch-case，如果觉得不够长，就再写一个。本人亲自重构过的有记录的最长的一个方法包含502个switch-case，加上每个case中一行实际工作代码，外加一些函数声明等，最终高达1030行。值得提一下的是重构后这个方法只有1行实际工作代码。实际上整个2000多行的模块重构后一共也只有180行。...]]></description><category></category></item><item><title><![CDATA[陈旧语法密度之一——什么是陈旧语法]]></title><link>https://blog.csdn.net/cheny_com/article/details/79756115</link><guid>https://blog.csdn.net/cheny_com/article/details/79756115</guid><author>cheny_com</author><pubDate>Sun, 01 Apr 2018 23:17:39 +0800</pubDate><description><![CDATA[陈旧语法密度Why为何存在陈旧语法在面向过程的编程语言中（以C最为典型），有一些语法容易造成代码臃肿、重复、单个函数长度大、代码过于集中或过于分散造成编写、阅读和维护困难。在出现面向对象语言之后（以C++/C#，Java最为典型），一些新语法结构通过封装、继承、多态等措施根本上消除了这些存在问题的语法。然而为了直接调用原有代码模块（如C++调用C），或间接复用原有代码的结构（如将C语言的加密算法原...]]></description><category></category></item><item><title><![CDATA[Java重构与TDD测试驱动开发实际案例一-陈勇-专题视频课程]]></title><link>https://blog.csdn.net/cheny_com/article/details/83580033</link><guid>https://blog.csdn.net/cheny_com/article/details/83580033</guid><author>cheny_com</author><pubDate>Mon, 05 Mar 2018 09:16:15 +0800</pubDate><description><![CDATA[本课程将高深的重构与TDD理论埋藏在一个实际案例中，深入浅出地演示了重构与TDD的完整步骤。
在这个真实的案例中，一个银行项目的2000多行的模块，终被重构为仅有160多行，并实现了单元测试级别的自动化测试。实际重构耗时1天，本课程将1天的时间用近百个片段重现出来，并增加了一些新功能来演示更多重构所需的技术。...]]></description><category></category></item><item><title><![CDATA[2015-11-24敏捷统一过程公开课的相关资料]]></title><link>https://blog.csdn.net/cheny_com/article/details/50020243</link><guid>https://blog.csdn.net/cheny_com/article/details/50020243</guid><author>cheny_com</author><pubDate>Wed, 25 Nov 2015 00:24:04 +0800</pubDate><description><![CDATA[公开课名称：产品研发敏捷统一过程AUP2.0官方链接：http://huiyi.csdn.net/activity/closed?project_id=2619本来今天答应大家在这里上传附件的，刚发现“您因违反CSDN下载频道规则而被锁定帐户，如有疑问，请联络:webmaster@csdn.net”，估计是个Bug。等解决后，我会上传课件和模板并把链接放置在这里。其中提到的关键需求分析技术在此免费]]></description><category></category></item><item><title><![CDATA[火星人敏捷开发1001问（第一季）-陈勇-专题视频课程]]></title><link>https://blog.csdn.net/cheny_com/article/details/83550637</link><guid>https://blog.csdn.net/cheny_com/article/details/83550637</guid><author>cheny_com</author><pubDate>Tue, 03 Feb 2015 15:31:20 +0800</pubDate><description><![CDATA[此课程为敏捷开发的课程，聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节，从而令学员不但得到可行的答案，更能思考答案背后隐含的敏捷思想。...]]></description><category></category></item><item><title><![CDATA[火星人敏捷开发1001问（第二季）-陈勇-专题视频课程]]></title><link>https://blog.csdn.net/cheny_com/article/details/83550638</link><guid>https://blog.csdn.net/cheny_com/article/details/83550638</guid><author>cheny_com</author><pubDate>Tue, 03 Feb 2015 15:30:40 +0800</pubDate><description><![CDATA[此课程为敏捷开发的课程，聚焦于敏捷开发中似是而非的各种问题。每个问题都会有分析与解决的环节，从而令学员不但得到可行的答案，更能思考答案背后隐含的敏捷思想。...]]></description><category></category></item><item><title><![CDATA[火星人敏捷开发手册视频培训上线了！]]></title><link>https://blog.csdn.net/cheny_com/article/details/42842555</link><guid>https://blog.csdn.net/cheny_com/article/details/42842555</guid><author>cheny_com</author><pubDate>Sun, 18 Jan 2015 21:13:58 +0800</pubDate><description><![CDATA[CSDN教育频道上线说起来已经是旧闻了，《火星人敏捷开发手册》的网址是：http://edu.csdn.net/course/detail/164以前录制过一个1小时的版本，不过讲解得没有这次15分钟×8课时的好。]]></description><category></category></item><item><title><![CDATA[火星人敏捷开发手册-陈勇-专题视频课程]]></title><link>https://blog.csdn.net/cheny_com/article/details/83546294</link><guid>https://blog.csdn.net/cheny_com/article/details/83546294</guid><author>cheny_com</author><pubDate>Thu, 27 Nov 2014 12:31:08 +0800</pubDate><description><![CDATA[本课程讲师是CSDN下载总量超过一万人次的《火星人敏捷开发手册》的作者，课程中将以PPT+视频方式讲解《手册》，适合个人学习、敏捷开发现场培训预习、企业推广敏捷开发等场景。除了《手册》中的原有内容外，还将包括讲师正式培训中相应的一些内容，以便深度了解Scrum敏捷开发的全过程。...]]></description><category></category></item><item><title><![CDATA[《IT职场人生》百度阅读图书出版]]></title><link>https://blog.csdn.net/cheny_com/article/details/39479467</link><guid>https://blog.csdn.net/cheny_com/article/details/39479467</guid><author>cheny_com</author><pubDate>Mon, 22 Sep 2014 17:58:40 +0800</pubDate><description><![CDATA[本书是IT职场人生系列博客的改编版本，增加了若干新的章节。
图书为免费，注册百度阅读用户（或用已有百度用户登录），即可领取。下载客户端后可在移动设备上阅读。
图书链接：http://yuedu.baidu.com/ebook/af550a37561252d381eb6e1c###]]></description><category></category></item><item><title><![CDATA[QUML建模第一层：角色-业务图实现愿景（3）]]></title><link>https://blog.csdn.net/cheny_com/article/details/39295975</link><guid>https://blog.csdn.net/cheny_com/article/details/39295975</guid><author>cheny_com</author><pubDate>Mon, 15 Sep 2014 18:01:55 +0800</pubDate><description><![CDATA[本书由本人编写，于2014-09-09在百度阅读首发，博客将转载试读部分的20%内容，以及非试读章节的某些片断。电子版链接：http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 愿景取舍——高层优先级排序画完图后，产品经理和项目经理一起找到马总。马总：一口气画了4张？第4张好像很强大啊，我们提到的需求都涵盖了，而且还把评价分为了文字和数值]]></description><category></category></item><item><title><![CDATA[QUML建模第一层：角色-业务图实现愿景（2）]]></title><link>https://blog.csdn.net/cheny_com/article/details/39295951</link><guid>https://blog.csdn.net/cheny_com/article/details/39295951</guid><author>cheny_com</author><pubDate>Mon, 15 Sep 2014 18:00:22 +0800</pubDate><description><![CDATA[本书由本人编写，于2014-09-09在百度阅读首发，博客将转载试读部分的20%内容，以及非试读章节的某些片断。电子版链接：http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 角色-业务图（RB图）下面是QUML中使用的方法，称之为“角色-业务图”（Role-Bussness Diagram，简称RB图）。通过分析角色和主要业务，表达愿]]></description><category></category></item><item><title><![CDATA[QUML建模第一层：角色-业务图实现愿景（1）]]></title><link>https://blog.csdn.net/cheny_com/article/details/39289193</link><guid>https://blog.csdn.net/cheny_com/article/details/39289193</guid><author>cheny_com</author><pubDate>Mon, 15 Sep 2014 17:58:09 +0800</pubDate><description><![CDATA[本书由本人编写，于2014-09-09在百度阅读首发，博客将转载试读部分的20%内容，以及非试读章节的某些片断。电子版链接：http://yuedu.baidu.com/ebook/c7a9a6dc680203d8ce2f24a6### 本章讲解如何将非常模糊的高层需求，也就是愿景，表达为一个清晰、简单、确定的模型。基于这种简单的模型进行开发，要比基于大段似是而非的文字更容易得到最终想要的结果。什]]></description><category></category></item><item><title><![CDATA[《QUML系列图书》写作计划]]></title><link>https://blog.csdn.net/cheny_com/article/details/39202519</link><guid>https://blog.csdn.net/cheny_com/article/details/39202519</guid><author>cheny_com</author><pubDate>Thu, 11 Sep 2014 10:04:04 +0800</pubDate><description><![CDATA[QUML作为UML、功能点分析FPA、敏捷开发三种管理方法的集大成者，可以被应用于不同的场景。以下的图书各自侧重于一个方面，供不同领域的读者选择。《QUML：量化需求分析与建模》本书从需求分析与建模的角度，介绍QUML的结构、规则、使用方法，是QUML的基本图书。全书通过对一个电商网站的实例分析，分层次地介绍了QUML的结构、用途、规则和最佳实践；书中还概要地对如何将UML应用于早期估算、产品版本]]></description><category></category></item></channel></rss>