为啥我看别人的代码很高大上,看自己写的水准很低呢?该如何提升自己的代码? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Jacky001
V2EX    问与答

为啥我看别人的代码很高大上,看自己写的水准很低呢?该如何提升自己的代码?

  •  
  •   Jacky001 2014-05-28 12:26:22 +08:00via iPhone 5600 次点击
    这是一个创建于 4174 天前的主题,其中的信息可能已经有所发展或是发生改变。
    24 条回复    2014-05-28 19:08:22 +08:00
    leiz
        1
    leiz  
       2014-05-28 12:28:28 +08:00   4
    一般看别人代码: 第一次,嗯?!有意思,不错,牛, 第二次,哦,这样。哦,这样处理比较好, 第三次, 哦

    看自己代码:第一次,不错,挺好。 第二次,不太舒服,这边改改比较好。 第三次,找个时间重构...
    dotx
        2
    dotx  
       2014-05-28 12:32:44 +08:00
    模仿,学习
    lepture
        3
    lepture  
       2014-05-28 12:37:49 +08:00
    常重,我代得漂亮了吧,也常得不好,常重。
    lzt163
        4
    lzt163  
       2014-05-28 13:33:48 +08:00 via iPhone
    其实我觉得是错觉
    siw
        5
    siw  
       2014-05-28 13:35:34 +08:00
    @leiz

    有心人啊
    codingpp
        6
    codingpp  
       2014-05-28 13:50:42 +08:00
    不重构个几遍是不会看着舒服的
    GPU
        7
    GPU  
       2014-05-28 15:29:45 +08:00
    @leiz
    @lepture
    @codingpp

    上面几个大神, 为什么我每次看人家更新新版本,当说到了重构这个词语 ,我都会觉得好高端 。

    我也不知道什么原因 ,这是什么意思
    zencoding
        8
    zencoding  
       2014-05-28 15:31:13 +08:00
    @GPU 重新构建
    wanjun
        9
    wanjun  
       2014-05-28 15:32:03 +08:00
    一些开源项目里面的确实还不错,但是每次接手前任的项目,总要边看边骂。。。
    chshouyu
        10
    chshouyu  
       2014-05-28 15:47:38 +08:00
    老外(或者大神)取个变量名都觉得吊
    dong3580
        11
    dong3580  
       2014-05-28 15:51:31 +08:00
    @GPU
    我上大学时候 动不动听舍友说又有个学校项目让他们这些NB的人做.
    后来我才知道...原来所谓的"项目"意思就是做个网站.
    干嘛不说学校一个网站要做.
    因为说"项目"更高端.
    所以很多只是用词很高端哈.
    manfay
        12
    manfay  
       2014-05-28 15:53:03 +08:00
    @GPU 有没有看过日本电视节目“全能住宅改造王”?那就是重构!
    yuankui
        13
    yuankui  
       2014-05-28 15:55:15 +08:00
    学学设计模式吧,共勉!
    yuanji
        14
    yuanji  
       2014-05-28 15:57:32 +08:00
    To follow the path:(沿着这样一条道路:)
    look to the master,(寻找大师,)
    follow the master,(跟随大师,)
    walk with the master,(与大师通行,)
    see through the master,(洞察大师,)
    become the master.(成为大师。)
    zungmou
        15
    zungmou  
       2014-05-28 16:14:55 +08:00
    1、代码之间的耦合度要低;
    2、遵循一个编码规范;
    3、能精简的代码尽量精简;
    4、代码中尽量少的逻辑判断、循环控制,更不要动不动就嵌套多层;
    5、注释,特别是复杂的函数,最好注释上运行流程;
    GPU
        16
    GPU  
       2014-05-28 16:20:50 +08:00
    @dong3580 毕竟每个人都需要装一下b , 提升一下逼格

    @manfay 有机会看一下 。 日本的节目我貌似都很小接触 。我记得的一次还是托也哥的那个 。好邪恶。而且不是完整看的。
    leiz
        17
    leiz  
       2014-05-28 16:38:45 +08:00
    @GPU 重构来自英文 refoctoring, 其实我感觉说白了就是重做... 这次做的感觉不好,推倒再来,或者在这个基础上再整整...

    但是这行自祖师爷开始就讲究geek, 直接说re-do真心太直白,so...
    GPU
        18
    GPU  
       2014-05-28 16:48:32 +08:00
    @leiz 是不是就是从另一个角度重新看这个东西 。而另自己认为这样子更好看 。更爽 。 更满足呢?
    clino
        19
    clino  
       2014-05-28 16:52:49 +08:00   1
    工匠的活也是需要长时间积累以后才能做得漂亮的
    某领域的专家一般来说是犯的错误够多了以后知道如何避免错误,对坏味道很敏感
    如果对代码里的坏味道很敏感,写出来的代码自然就会比较高大上了
    Jacky001
        20
    Jacky001  
    OP
       2014-05-28 17:27:32 +08:00
    @leiz
    @dotx
    @lepture
    @lzt163
    @codingpp
    @wanjun
    @yuankui
    @jyjmrlk
    @zungmou
    @clino 在看别人的代码,又看自己的代码难免会对比比较,有时候会遇到类似功能,会看到别人的处理方式的确比自己的要好很多,甚至有时候吃个中饭的时间,会想到一个新的方式会比上午的处理方式好,然后就会重写,周而复始自然会影响工作进度等,所以很想提升自己。

    @chshouyu 您还真真自卑!
    akira
        21
    akira  
       2014-05-28 17:55:52 +08:00
    每天/每周抽个固定时间看一下自己写的代码,思考下有什么地方没做好。
    zuroyu
    22
    zuroyu  
       2014-05-28 18:01:01 +08:00
    @GPU
    1+3+9+4+6+2+7+5+8+10=55 --重构--> 1+2+3+4+5+6+7+8+9+10=55
    ...试试哪个念的快...
    codingpp
        23
    codingpp  
       2014-05-28 18:03:19 +08:00
    @GPU
    写到让别人不明觉厉,重构就OK了
    GPU
        24
    GPU  
       2014-05-28 19:08:22 +08:00
    @codingpp 其实我是来卖萌的啦。
    @zuroyu 这个example 不错 。凡人能看懂
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5006 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:30 PVG 16:30 LAX 01:30 JFK 04:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86