优雅编程之这样格式代码,你就“正常”了(五)

开心一笑

【太阳给草打电话 。
太阳:喂,草你吗?我日。
草:我草,你谁啊?
太阳:我日啊!
草:我草,你到底谁啊!
太阳: 我日啊,你草吧!
草:TMD,你到底是谁啊,我草!
太阳:我日,我日啊 !
草:我草。
太阳的妈妈抢过电话:草,我日他妈,草你妈好吗?】
(备注:很普通对话,不要想歪了哦!)

提出问题

优雅的写代码,需要注意哪些代码格式???

解决问题

代码的格式对一个开发人员是非常重要的。工作中,开发人员在维护代码的时候经常会埋怨别人的代码写的很烂,如果不严格要求自己,以后就会成为别人眼中的"别人"了。下面是来自《代码整洁之道》中自己总结的几点。

1)垂直放向上的区隔:不同的逻辑之间用空格间隔;

例:在导入申明,方法和方法之间用空白行隔开,这是正确的做法

package com.hwy.test;

public class CodeCleanTest {

    public static void main(String[] args) {
        eat();
        
        sleep();
        
        playPeas();
    }
    
    public static void eat(){
        System.out.println("吃饭");
    }

    public static void sleep(){
        System.out.println("睡觉");
    }

    public static void playPeas(){
        System.out.println("打豆豆");
    }

}

例:在看看下面的代码,没有相关的分隔行,代码可读性较差差。

package com.hwy.test;

public class CodeCleanTest {
    public static void main(String[] args) {
        eat();    
        sleep();
        playPeas();
    }
    public static void eat(){
        System.out.println("吃饭");
    }
    public static void sleep(){
        System.out.println("睡觉");
    }
    public static void playPeas(){
        System.out.println("打豆豆");
    }
}

2)垂直方向上的靠近:关系密切的逻辑要靠近才会更加清晰(可看System这个类的实现);

3)变量申明尽可能靠近使用的地方;

例:

package com.hwy.test;

public class CodeCleanTest {
    
    String food = "吃饭食物";
    public void eat(){
        System.out.println(food);
    }

    public void sleep(){
        System.out.println("睡觉");
    }

    String peas = "豆豆";
    String feel = "爽";
    public void playPeas(){
        System.out.println("打" + peas);
        System.out.println("感觉" + feel);
    }
    
    //-----------上面是正确的,下面是错误的------------------------

    String food = "吃饭食物";
    String peas = "豆豆";
    String feel = "爽";
    public void eat(){
        System.out.println(food);
    }

    public void sleep(){
        System.out.println("睡觉");
    }

    public void playPeas(){
        System.out.println("打" + peas);
        System.out.println("感觉" + feel);
    }
}

4)相关函数:放在一起,调用者放在被调用者的上面;

例:

package com.hwy.test;

public class CodeCleanTest {

    String food = "吃饭食物";
    public void eat(){
        System.out.println(food);
        /** 调用的sleep函数应该写在eat函数的下面 **/
        sleep();
    }

    public void sleep(){
        System.out.println("睡觉");
        String peas = "豆豆";
        String feel = "爽";
        /** 调用的playPeas函数应该写在eat函数的下面 **/
        playPeas(peas,feel);
    }


    public void playPeas(String peas, String feel){
        System.out.println("打" + peas);
        System.out.println("感觉" + feel);
    }

    //----------上面是正确的写法,下面是错误的-----------------


    public void sleep(){
        System.out.println("睡觉");
        String peas = "豆豆";
        String feel = "爽";
        /** 调用的playPeas函数应该写在eat函数的下面 **/
        playPeas(peas, feel);
    }
    
    String food = "吃饭食物";
    public void eat(){
        System.out.println(food);
        /** 调用的sleep函数应该写在eat函数的下面 **/
        sleep();
    }

    public void playPeas(String peas, String feel){
        System.out.println("打" + peas);
        System.out.println("感觉" + feel);
    }

}

5)水平方向:以不拖动滚动条为准则,代码行长度80个字符可以接受,最多120个字符,再多,你想逆天啊

6)* / + =,+=等前后的空格可以起强调的作用,同时空格可以强调逗号

例:

String food = "吃饭食物";
public void eat(){
    System.out.println(food);
    sleep();
}

public void sleep(){
    System.out.println("睡觉");
    String peas = "豆豆";
    String feel = "爽";
    playPeas(peas,feel);
}

/** 这里    String peas和String feel有个空格,强调逗号分割
public void playPeas(String peas, String feel){
    long startTime = System.currentTimeMillis();
    System.out.println("打" + peas);
    System.out.println("感觉" + feel);
    long endTime = System.currentTimeMillis();
    System.out.println(endTime - startTime);
}

7)缩进,只有一行的也按缩进规则来;

例:
package com.hwy.test;

public class CodeCleanTest {

    String food = "吃饭食物";
    public void eat(){
        System.out.println(food);
        String time = "白天";
        sleep(time);
    }

    public void sleep(String time){

        if(time.equals("黑夜")){
            System.out.println("睡觉");
        }

        //-------上面写法是正确的,下面写法错误--------------

        if(time.equals("黑夜")){System.out.println("睡觉");}

    }
}

8)遵守团队规则,这点很重要;

感悟.png

读书感悟

来自《般若波罗蜜多心经》简称《般若心经》或《心经》

  • 舍利子,色(存在)不异空,空(虚无)不异色,色即是空,空即是色,受想行识,亦复如是。
  • 是诸法空相,不生不灭,不垢不净,不增不减
  • 是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。无无明,亦无无明尽,乃至无老死,亦无老死尽。无苦集灭道,无智亦无得。

其他

如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我目前所在的橙子学院#30天专注橙长计划#社群,让我有一种很上进的感受。里面都是写作输出的人,每周以打卡形式输出文...
    敏同学谈成长阅读 445评论 0 0
  • 中午你去跳舞,老师布置了习字册你怕来不及写,课间抓紧到我办公室写了会,结果体育课晚到了会,你被体育老师批评,委屈的...
    萍萍淡淡阅读 374评论 0 3
  • 我发现我根本不会C语言 其实本来半年前就应该跟C语言说再见的,但是因为今年上半年还需要参加比赛,需要用C/C++来...
    ltoddy阅读 453评论 0 3
  • 兼职,滑轮,助教,孩子。 这几乎成为我大三上学期重要的关键词之一。我在一间幼儿园任教轮滑助教,最主要的职责就是帮孩...
    卿言莫弃阅读 301评论 0 1
  • 明天去辞职。 和人事沟通不畅,辞职了。 这份工作还没做满两个月。 失败如我,又该何去何从?
    井底的动物阅读 180评论 0 0