• 读书笔记_代码大全_第31章_布局与风格


    布局与风格

    愿我的读书笔记带你翻过45页的书  http://www.cnblogs.com/jerry19880126/

    布局主要是代码的书写方式,也包括注释,简单来说,就是你的源文件的样式。“恐怖”的代码布局会让你不想再多看一眼代码,比如:

    但是好的布局会让你有更集中的精力对付代码中的逻辑,而不是去分层断句,比如下面的代码布局就好多了:

    我觉得书上有一段引用很好,“傻子都会写让计算机理解的代码;而优秀的程序员写的是人能看懂的代码”。优秀的程序员写出的代码会有良好的布局,因为好的源码布局有助于:

    (1)     准确表现代码的逻辑结构

    (2)     始终如一地表现代码的逻辑结构

    (3)     改善可读性

    (4)     经得起修改

    下面着重讨论一下应该怎样布局。也许你在txt文件中写出来的代码是这样的:

    1 if(pixelColor==Color_Red)
    2 statement1;

    这样写的布局就不太好,比如:

    (1)     缩进。statesment1应该向前缩进;

    (2)     空格。pixelColor与==号之间最好能有个空格;

    (3)     没有突出块。即使if下面只有一句话,也最好加上大括号,便于扩充,也增加可读性。

    修改后的代码是这样的:

    1 if(pixelColor == Color_Red)
    2 {
    3     statement1;
    4 }

    当然大括号的排布也可以是这样:

    1 if(pixelColor == Color_Red){
    2 statement1;
    3 }

    两种方式都是可以的,我比较喜欢用第一种(虽然有些浪费空间了,但大括号找起来比较方便),无论你的喜欢的风格是怎样的,重要的是在整个程序中保持一致

    对于子函数的调用,也许你写出来的是这样的:

    DrawLine(window.north, window.south, window.east, window.west, currentWidth, currentAttributes);

    但这样看上去会比较累人,如果采用下面的排版:

    1 DrawLine(
    2 window.north,
    3 window.south,
    4 window.east,
    5 window.west,
    6 currentWidth, 
    7 currentAtrributes
    8 );

    这样会更清晰一点,适合多参数子程序的布局,但若参数不多的话,就不需要换成多行了。需要明确的一点是,不是你的源代码写得越短,程序跑起来就越快,所以不用担心源代码采用的宽松结构会使代码低效,相反,适当宽松的结构有助于提升可读性,从而使得编写和维护更加高效。

    最后说一下声明变量时的布局,也许你喜欢:

    int i, j, k,….

    但这样其实不好,做些改进:

    (1)     变量声明的时候顺便就初始化了;

    (2)     一行只做一个变量的声明。

    可以变成这样:

    1 int i = 0;
    2 int j = 1;
    3 int k = 3;

    这里只是作演示,变量名随便起的,但你的程序里可千万不要出现这样的变量名啊(作为循环下标还可以)。一行多个变量的声明有时还容易出错,比如int* p1, p2,p1的确是int*型的,但p2就不是了,p2是int型的,如果你看不清楚,还是分成两行来声明吧。

    最后总结一下吧,好的布局使你的代码容易编写和维护。缩进、空格、大括号块、换行、空行都是改善布局的利器。

    <end>

  • 相关阅读:
    点击按钮icon input同步获取焦点
    修改vue项目中 elementUI input样式
    vue $route 和$router的区别
    vue 路由 vue-router 模式 hash history
    vue 路由跳转
    git 合并某个提交 git cherry-pick
    请求传参 有特殊符号
    前端 组件库 ,js等
    ajax请求成功,返回了数据,但是跳到了error情况
    微信-公众号-网页授权开发
  • 原文地址:https://www.cnblogs.com/jerry19880126/p/2834424.html
Copyright © 2020-2023  润新知