CleanCode代码整洁之道培训总结(2015

为期四天的CleanCode培训时间很短,很难准确掌握一些知识,但让我对代码有了一个重新的认识和启发;之前也有看过设计模式、重构之类的书,看完之后也有一些感触,过后在写代码中还是不能应用进来,其实重构是时刻都可以进行和长期存在的,变量用途是否单一、一个函数的命名、一个if语句表达式、是否有重复代码、函数职责是否单一、函数是否短小易懂、抽象层次是否单一;

原来之前写的代码是这么烂,在修改代码时从来都不会去考虑重新组织代码结构,写好的代码就是在写代码时注意细节如何才能写出好代码呢?这是作为程序员值得思考的问题,代码不是设计完后就不能改变的,应该是在以后需求变化,不断重新设计,更利于以后的扩展

重构就是在不改变代码外在行为的前提下,对代码做出修改,以改进代码程序的内部结构,提高其可理解性,降低其修改成本;本质上说,重构就是在代码写好之后改进它的设计。

函数10个11、每个变量只用于单一用途2、每一行代码只表达一件事3、一个循环只做一件事4、单一抽象层次原则5、代码组织得一次只做一件事情6、函数体内只关注一种变化的原因(动机)7、函数应该遵守单一职责8、函数圈复杂度应该小于一十9、函数第一原则是必须要短小10、编写函数时必须一心一意、专注、怀有谦虚的心态

编程3个价值观沟通–珍视与他人沟通的重要性简单–把多余的复杂性去掉灵活–保持开放,应对变化

计算程序的圈复杂度1、从1开始,一直往下通过程序2、一旦遇到以下关键字,或者其它同类词加1(if/for/while/and/or)3、给case语句中的每一种情况加14、三元运算符a?b:c 加15、给try catch语句加1

其它类型的复杂度度量方法1、代码行数2、函数参数个数3、调用其它函数、对象、包的数量4、每行运算符的数量5、调转语句个数(goto/break/continue/throw)6、控制结构中的嵌套层数7、变量个数,函数的变量8、同一变量的先后引用之间的代码行数(跨度)9、变量生存的代码行数

驯服深层嵌套方法1、使用卫语句2、通过重复检测条件中的某一部分来简化嵌套的if语句3、用break块简化嵌套的if4、把嵌套if转化成一组if-then-else语句5、把嵌套if转换成case语句6、把深层嵌套的代码抽取出来放在单独子程序

软件质量可以分为内在质量(代码架构设计)与外在质量(软件使用过程稳定性)著名的冰山模型内部质量管理的四个“现代化”1、可量化—-可度量2、工具化—-可视化、透明,,使用工具检测(Java语言可使用sourcemonitor)3、自动化—-4、优化—-持续改善

检查代码是否变坏的相关标准1、格式标准2、命名3、类、函数名长度4、注释量5、重复度6、条件表达式7、圈复杂度8、函数参数9、函数内变量个数

供参考的Clean Code方法1、一个循环只做一件事情一般情况下循环次数的数量级不是很大,效率就不会很明显,尽量分开处理,看起来结构清晰2、do/while的使用需要注意,是否执行是由其后的条件决定3、关于函数单一出口问题,并不是那么重要;如果能增强可读性,那么就使用return

参考资料下载

编程是一种态度,编程是一种技艺,编程是一种习惯做一名有节操、有底线和程序员

旅游不在乎终点,而是在意途中的人和事还有那些美好的记忆和景色。

CleanCode代码整洁之道培训总结(2015

相关文章:

你感兴趣的文章:

标签云: