zoukankan      html  css  js  c++  java
  • CleanCode代码整洁之道培训总结(2015-03-14)

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

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

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

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

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

    计算程序的圈复杂度
    1、从1開始,一直往下通过程序
    2、一旦遇到下面keyword,或者其他同类词加1(if/for/while/and/or)
    3、给case语句中的每一种情况加1
    4、三元运算符a?

    b:c 加1
    5、给try catch语句加1

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

    驯服深层嵌套方法
    1、使用卫语句
    2、通过反复检測条件中的某一部分来简化嵌套的if语句
    3、用break块简化嵌套的if
    4、把嵌套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

    參考资料下载

    http://pan.baidu.com/s/1gdd8YKr

    http://www.cnblogs.com/renzhimin/archive/2012/04/09/2439447.html

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

  • 相关阅读:
    从无到有制作Deb包的一个实例
    Redis内存存储结构分析
    岳麓实践论
    金砖四国(巴西、俄罗斯、印度和中国)
    用LLVM开发新语言
    QQ云输入法
    http://baike.baidu.com/view/1926473.htm
    21世纪商业评论
    update ubuntu to 11.10
    gnu make 中文手册教程pdf
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7026361.html
Copyright © 2011-2022 走看看