如何编写优质的代码

在程序员的这条道路上,我们是那一群群挥洒着汗水的有志青年,
从hello,world到改变世界的魔杖,我们一步步成长,一步步由菜鸟成长起来,我把这个历程划分四个阶段:
1:可以跑起来的程序
2:跑的快的程序
3:跑既快又优雅的程序
4:程序已经不是一种跑的工具,而是一种跑的思维
进过这几年的代码沉淀,我个人觉得我已经进入了程序员的第四阶段,所以今天把自己的程序思维拿出来和大家分享一下

一:一些没用的代码只要注释掉就行
都是自己敲出来的代码,智慧的结晶,能保留就保留,万一以后用到呢,通通注释掉就行,

二:能把代码写成一行就尽量写成一行,能一行代码解决的事为啥要分成那么多行,这样做,我们就可以养成一目十行的能力,可以大大地提高代码的阅读效率
:+1:t2:_Good

 cc.tween(this.node).by(1, { angle: 20 }, { easing: cc.easing.sineOut }).by(1 * 2, { angle: -40 }, { easing: 
 cc.easing.sineInOut }).by(1, { angle: 20 }, { easing: cc.easing.sineIn }).union().repeatForever().start();

:-1:t2:_Waste

    cc.tween(this.node)
    .by(1, { angle: 20 }, { easing: cc.easing.sineOut })
    .by(1 * 2, { angle: -40 }, { easing: cc.easing.sineInOut })
    .by(1, { angle: 20 }, { easing: cc.easing.sineIn })
    .union().repeatForever().start();

三:不要注释,反正不会有人看你的代码
:+1:t2:_Good

     this.loveMovement();

:-1:t2:_Not Good

    /**爱的运动方式*/
    this.loveMovement();

四:脚本命名和资源命名一定一定要随心所欲
连命名都要想半天,头发掉光了怎么办?
:+1:t2:_Good

    canjinkon666;

:-1:t2:_Not Good

    AndroidDeviceInformation;

五:变量名能短就短,反正有26个字母就够用了,想那么多干么,用想命名的时间去处理逻辑问题,他不香吗
:+1:t2:_Good

    //持久的时间
    private t:number = 2;

:-1:t2:_Not Good

    //持久的时间
    private _manTime:number = 2;

六:只要抛出去的错误就不是错误,即使他是错误我们也要尽量忽视他,因为你不一定解决的了他,我们要把代码牢牢的抓在手中
:+1:t2:_Good

    try{
        ..... 
    } catch (error) {
        //canjinkon666
    }

:-1:t2:_Not Good

    try{
        ..... 
    } catch (error) {
        console.log(error.code,error.msg,"错误信息");
    }

七:写代码要深思熟虑,尽量把每一种情况都考虑到,我们要做严谨的程序员
:+1:t2:_Good

    /**
     * 战斗力数值处理
     * @param n 战斗力数值
     */
    private combatValue(n: number){
        if (n < 0) {
            return -1
        } else {
            return n + 666;
        }
        return 0;
    }

:-1:t2:_Not Good

    private combatValue(n: number){
        return if (n < 0) {
             -1
        } else {
             n + 666;
        }
    }

八:要把代码当成一个艺术品,变量,方法名不要死气沉沉,一变不变,秀出自己的风采,为艺术干一杯
:+1:t2:_Good

    //水壶的长度
    private jLength:number = 2;
    //水壶的宽度
    private j_Width:number = 2;

:-1:t2:_Not Good

    //水壶的长度
    private _jubLength:number = 2;
    //水壶的宽度
    private _jubWidth:number = 2;

人生得意须尽欢,莫使金樽空对月
身为程序员在生活里闷骚也就罢,写代码不随心所欲这不在找罪受吗,在代码的世界里尽情的放飞自我

九:我们是程序员,不是策划,所以文档啥的通通与我无关
如果程序员要文档,那要代码有何用?

十:代码行数多的方法的比少的好
我们不是小孩子,要知道任何东西都是越多越好

十一:代码要有层次感,一进一出,二进一出,这样才有代码的参差美
:+1:t2:_Good

    String [] name = {"饭岛", 
            "川岛", "文泽", "三浦"};
    String [] city = {"日本", "东京"};

:-1:t2:_Not Good

    String [] name = {"饭岛", "川岛", "文泽", "三浦"};
    String [] city = {"日本", "东京"};

十二:记住if永远是最好的语言
:+1:t2:_Good

    /**
     * 行为方式判定
     * @param type 行为类型
     */
    public static actorType(type: string) {
        if (type == "kj") {
            if (type == "gj") {
                if (type == "sj") {

                }
            }
        }else{
            if (type == "zj") {
                if (type == "bj") {

                }
            }
        }
    }

:-1:t2:_Not Good

    ......

十三:让代码简洁明了起来
不懂代码的人都能写写出可以让机器识别的代码,而像这么我们优秀的程序员才能写出让傻瓜理解的代码
:+1:t2:_Good

setInterval(()=>{
    getTime();
},1000)
/**获取运动的时间*/
function getTime(){
    setInterval(()=>{
        .....
    },2000)
}

全部按这些准则来,你就是项目组最不可替代的人,因为
你要是走了那就真没人看得懂了:smirk:

1赞

这篇水帖:Not Good

1赞

这篇水帖:Not Good

这篇水帖:Not Good

水的好,下次别水了

编写优质代码需要读透《Hacker’s Delight》

这很无聊,并且一点也不搞笑 :sleeping:

Not Good Enough
能让老板/客户/策划闭嘴的, 才是好程序员

水的好,下次别水了!

这篇水帖:Not Good

这篇水帖:Not Good

为啥按你说的方法来,我被老大揍了一顿~

1赞

人类高质量程序员了属于是

非必要的话,我更喜欢写成多行,虽不简洁,但更明了。

作为一个好的程序员。首先注释要比代码多 :rofl:不然过两天我自己都不知道是个什么玩意。。。

让你写C#不得难受死 单个大括号得占一行

1赞

这篇水帖:Not Good

上个推荐你的那个猎头,坟头草已经八丈高了

所以,楼主的意思是:
像这种写注释的这些都是些什么玩意儿 :upside_down_face:

大佬,这个 en zh 多语言,用什么插件识别呢?