- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 自表达代码 Self-Expressive Codes 王洪亮 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 摘要 背景介绍 自表达代码 如何应用与实践 其他事项 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 能够自我表达的代码 a) 大幅缩减Bug修改时间。 b) 使代码可以应用JUnit测试。 c) 大幅缩短功能增加时间。 某Web 管理系统 a) b) c) d) 交货期紧—— 6个月,100+个页面 质量要求高—— No bug in UAT 预算有限(30人月) 旧有的开发方式看起来肯定满足不了要求 为满足客户需求,改变开发方式,从代码入手,到流程变革。代码的书写方式变 革确保了流程变革的顺利完成。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 常见的代码问题 1. 命名类问题(本地语言命名,命名与行为不一致等) 2. 注释类问题(修改履历残留等) 3. 结构类问题(goto, do-while禁用等) 4. 风格类问题(长方法、长参数列表、长判定语句、长分支等) 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 这些问题是如何产生的 1. 理论知识匮乏(S.O.L.I.D, DRY等) 2. 编程语言不熟悉(Exception, Annotation 等) 3. 编程环境不熟悉(Quick Fix, Refactor 等) 4. 设计方法不熟悉(Design Patterns等) 5. 英文能力不足(时态、词性等) 6. 编程习惯不佳(技术债务等) 7. 管理人员的误导(垂直任务分割、牧群理论等) 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何实现自表达代码 1. 理论知识补充 2. 编程语言培训 3. 设计方法培训 4. 编程工具学习 5. 英文能力提升 6. 编程习惯改进 7. 管理人员支持 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 实践 1.1 理论知识补充 Cyclomatic Complexity Don’t Repeat Yourself Single Responsibility Principle Open Close Principle Liskov Substitute Principle Interface Segregation Principle Dependency Inverse Principle Law of Demeter 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 实践 2.1 编程语言培训 for each Annotation Reflect 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 实践 3.1 设计方法培训 Exception Regular Expression Design Patterns Bit Mask/BitTransfer NullObjectPattern Enum Message Queue/Event Driven 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 实践 3.2 设计方法培训 递归调用 类型转换(强制类型转换的问题) 常量(Enum,Flyweight) Map/List的使用(去重、Z-Order等) 减少嵌套层数(Extract Method等) 缩短方法长度(Extract Method等) 减少参数个数(Introduce Parameter Object等) 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 实践 3.4 设计方法培训 自表达代码 scene.fight(hero, enemy, fist); hero.fight(enemy, fist); hero.fist.fight(enemy); 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 实践 4.1 编程工具学习 Quick Fix Auto Complete Auto Format
文档评论(0)