小哥们儿们不要再写这样的code了 code smells in css - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
menic
V2EX    程序员

小哥们儿们不要再写这样的code了 code smells in css

  •  
  •   menic 2014-02-07 16:57:48 +08:00 5748 次点击
    这是一个创建于 4265 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前有小哥们儿帮忙做前端,东西出的挺快,但是code看的让人崩溃,各种magic number,hard code。。。
    http://csswizardry.com/2012/11/code-smells-in-css/
    里边的brute forcing也比较常见。。按钮错了一个像素,来来来,加个margin -1px。。。
    17 条回复    1970-01-01 08:00:00 +08:00
    judasnow
        1
    judasnow  
       2014-02-07 17:13:58 +08:00
    margin -1px... 以前年少的我还真的是这么干的。。
    loading
        2
    loading  
       2014-02-07 20:54:07 +08:00   1
    先让代码跑起来,反正以后就重(bu)构(guan)。
    hkongm
        3
    hkongm  
       2014-02-07 21:36:27 +08:00
    @loading [窃笑]
    moroumo
        4
    moroumo  
       2014-02-07 21:55:50 +08:00
    我现在就这么写的,先跑起来再说,之后老板给时间,那就填坑,不给时间,只好罢了
    kevinkim
        5
    kevinkim  
       2014-02-07 22:01:11 +08:00
    那得看你看重哪方面了。。你是要快速出能用的东西,还是为了技术而技术。你的用户不一定懂技术,能用就行,代码什么的没关系。

    倒是如果该产品有生命力,通过以后的重构什么的慢慢调整即可。
    qiuai
        6
    qiuai  
    PRO
       2014-02-07 22:01:52 +08:00
    谁给翻译一个...看傻了
    fengliu222
        7
    fengliu222  
       2014-02-08 01:05:05 +08:00
    很多hack其实是可以用其他方法来避免使用的,造成使用Hack的场景很可能是因为对CSS和HTML不够了解。
    MajestySolor
        8
    MajestySolor  
       2014-02-08 02:48:06 +08:00
    我倒是觉得很大程度是性格造成的
    我有洁癖,也有点强迫症倾向,从一开始写css/html就比较追求完美
    毕业后待过2个公司,接触过不少同事,有些人的代码就是“丑”,以我对他们的认识我知道他们有能力写出好看的代码,但性格决定了一切
    quake0day
        9
    quake0day  
       2014-02-08 06:22:28 +08:00
    大部分前端都希望自己的代码能够足够整洁,能够支持重构,要追求代码艺术。
    然而事实是。大多数网站的重构方式很简单粗暴直接重新做一个新的,每人管你之前前端的“艺术”。
    原因很简单,大多数网站前端技术含量并不高,重新做一个没那么复杂,也花不了多少钱。而且web技术日新月异,今天你写的“整洁”代码,几年下来必有更简洁的方法来做。
    所以hack不hack完全取决于你在做的工作。对于一个简单小企业网站的修改,1分钟hack能搞定的就没必要多花1小时去分析代码帮别人重构。
    alexrezit
        10
    alexrezit  
       2014-02-08 06:56:16 +08:00 via iPhone
    以前我写过 Cocoa 的这种文章, 但我发现大多数人连 coding guidelines 都不看. 然后就没有然后了.
    learnshare
        11
    learnshare  
       2014-02-08 10:24:23 +08:00
    对于时间紧急,而且不太可能需要维护和重构的代码,有点 bug 的写法正常。但如果个人的水平和经验都提高一些,这些是可以避免的。
    kutata
        12
    kutata  
       2014-02-08 10:41:22 +08:00
    有时候为了hack,你不得不出现一些magic number.
    jianghu52
        13
    jianghu52  
       2014-02-08 11:17:11 +08:00
    @judasnow 别说以前,我现在还这么干过。破页面整个全用一个模板,还不然改,最后还要我跟这个对齐,那个对齐。你让我怎么办?不写-1根本对不齐啊。
    SouUED
        14
    SouUED  
       2014-02-08 12:04:50 +08:00
    大致看了一下,里面有些推荐方法有效率问题,我是根据google的开发文档来看的,但是确实有些地方那样写更加清晰。但是楼主说到底以效率优先还是以代码可读性优先?这个就看具体项目要求了,总的来说 开发时间 代码质量 生产效率能3选2吧,既然写的比较快,代码质量比较渣是可以理解的
    zzNucker
        15
    zzNucker  
       2014-02-08 12:09:23 +08:00
    这个文章只有对完全自己新写的项目有用,如果是接手改代码或者用了框架之类的基本就别想了,还是得hack或者magic number。
    fate
        16
    fate  
       2014-02-08 16:56:23 +08:00
    menic
        17
    menic  
    OP
       2014-02-08 18:16:44 +08:00
    曾经看有一种做法是 把ugly的代码放到ugly.css里边,然后加好注释,等以后再去改。当然要把所有的css compile成一个上production。
    对代码有要求,想写出有美感的东西是一个程序员应该追求的,当然根据实际情况会有各种tradeoff,但这些tradeoff不能成为各种hack的借口。
    个人水平当然也有关系,盒模型掌握不好,可能就需要各种hack和magicnumber,但是如果不着手去除这些hack,那水平也没机会提高,再下次,可能还是一样的code。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2740 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:16 PVG 20:16 LAX 05:16 JFK 08:16
    Do have faith in what you're doing.
    ubao 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