前端开发遇到的难题! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
bbs
V2EX    iDev

前端开发遇到的难题!

  •  
  •   bbs 2011-04-11 22:27:35 +08:00 7924 次点击
    这是一个创建于 5354 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前一直没遇到过这种状况。今天去了家新公司,团队用SVN做版本控制,我又是后来接手的,前端那个乱啊!CSS的几种引用方式算是全用到了,尤其内联的到处都是!JS也是,这一块那一块,完全没优化的想法。。。今天第一天工作,让我给一老页面加堆东西。可是这一段段模板的东西也没办法用浏览器快速调试啊,只能用firebug调,然后SVN更新,弄了半天好歹ie没啥问题!
    不知道前辈们遇到这种状况要如何应对。
    22 条回复    1970-01-01 08:00:00 +08:00
    lychee
        1
    lychee  
       2011-04-11 22:48:17 +08:00
    - - 果断重构..
    TheOnly92
        2
    TheOnly92  
       2011-04-11 23:14:01 +08:00
    http://stackoverflow.com/questions/1423109/convincing-coworkers-to-use-mvc/1423238#1423238

    第一,你才刚刚来这家公司。你有什么资格告诉人家该怎么做?如果重构,失败了你显得你自己愚蠢。即使成功了别人对你印象也不好。不论如何你要不是笑柄,要不然你就踏上离开这家公司的路。

    你应该解决的问题是:“我如何学习融入这个团队,帮助这个项目,然后让这个项目成功”从这一点来看,告诉别人你比他们知道得更多而他们是愚蠢的根本就不是解决方法。

    放宽视野,你现在面对的问题是 10% 技术性,40% 学习如何在团队中付出,30% 社交和 20% 沟通。

    从项目的角度来看,哪一个你觉得比较重要?你觉得你做什么能够让项目准时完成?

    1)大家和乐融融地在乱七八糟的代码中工作 2)脱离团队一个人重构然后让其他人落单

    你现在应该做的是闭上嘴做好自己应该做的部分,做得好,做得快,然后对自己的代码部分进行优化。如果你真的那么优秀,做事又快,就让他们给你更多事情做,然后重复以上的步骤。

    一旦你在团队中受到尊敬,那么你就可以尝试让团队使用更好的方法重构代码。
    dongsheng
        3
    dongsheng  
       2011-04-12 00:08:05 +08:00
    @TheOnly92 写的很好,写这段的哥们一定混过好久了
    summic
        4
    summic  
       2011-04-12 00:21:26 +08:00
    @TheOnly92 写得好
    先搞明白旧代码为什么烂,接手一个项目,张口就说代码烂想重构的一定是新手,而且会得罪不少人。
    既然没有人提出让你重构,说明大家可以接受,盲目的要推翻重来,肯定出力不讨好。
    bbs
        5
    bbs  
    OP
       2011-04-12 00:25:55 +08:00
    @TheOnly92 THX

    可这貌似是软的问题,我遇到的硬问题如何解决呢。现在真不知道如何做到好与快!
    keakon
        6
    keakon  
       2011-04-12 01:10:58 +08:00
    遇到这种团队根本就没兴趣加入
    qichangxing
        7
    qichangxing  
       2011-04-12 01:16:25 +08:00
    @keakon 同时也意味着这是一个机会 :)
    TheOnly92
        8
    TheOnly92  
       2011-04-12 08:05:40 +08:00
    @bbs 何为硬的问题?先搞清楚自己在团队中的位置,然后搞清楚这项目究竟是要干什么。遇到困难可以问一问同事,只要你又快又有效率地完成你分内的工作,别人自然会对你尊敬了。那时候再谈代码重构的问题。
    yelusiku
        9
    yelusiku  
       2011-04-12 10:29:21 +08:00
    貌似大家猛烈抨击的重构,不是楼主提出的,是一楼。。。
    darasion
        10
    darasion  
       2011-04-12 11:01:02 +08:00
    我觉得 @TheOnly92 说的有道理,既然你不可能去控制改变别人,就改变自己吧。总会遇到不一样的事情,不管多烂,都要尝试一下,也算人生阅历。

    硬的方面,其实还是要调整一下心态,尝试把 “创作” 看成 “体力劳动”。
    我拿传统行业举例,比如说装配机床(我以前干过),每天总是完全相同的重复动作,比如拧螺丝、钻孔、刮研、打激光.... 像这样的工作,一点都没有“创造” 的喜悦,但是却有数量上的成就感,你会看到一件东西(不管有多枯燥)一点点的在你的手中完成。

    对暂时改变不了的东西,不妨先看做是简单的生产线劳动,这样心态平衡了,不论多复杂,多难调试的东西。别的都不想,做一点是一点,慢慢的,突然发现居然就做完了。同样会有一点成就感。

    当然,有问题一定要解决的。但要找个好时机,费力不讨好的就算了。
    bbs
        11
    bbs  
    OP
       2011-04-12 11:06:09 +08:00
    @darasion 谢谢
    kamal
        12
    kamal  
       2011-04-12 11:18:38 +08:00
    或者原来代码不是这么烂的,结构良好的代码也挡不住汹涌的需求啊。

    莫名其妙的想法要立即上线,只能硬编码,然后效果不好又换,或者撤下,或者改回原来的界面,来几次代码就混乱不堪了。谁也不是故意要把自己的代码弄乱的。

    你能做的就是尽快熟悉工作内容,理顺原来的代码,在完成要求的基础上尽量重构,不着急。
    darasion
        13
    darasion  
       2011-04-12 11:34:10 +08:00
    @kamal 嗯。这个我也遇到过。当时我的角色就是 “汹涌的需求” 的提出者,折腾了不少人。导致那些人见到我都是眼冒凶光,杀气腾腾的。。。
    keakon
        14
    keakon  
       2011-04-12 11:45:56 +08:00
    @qichangxing 我觉得这是浪费生命,与其融入一个不适合自己的团队,不如寻找或打造适合的团队。说句难听的,宁愿一个人吃蛋糕,也不愿一堆人吃屎。

    团队不是为了表面上的团结而牺牲奋斗目标的。如果每个人都看不到这种问题,那说明这水平不值得你去掺合;如果看到了却都不敢说,那说明都是一堆不值得交往的人。人可以为饭碗而工作,但不能只为饭碗而工作;舍弃了理想和信念,和奴隶有什么区别?
    aligo
        15
    aligo  
       2011-04-12 11:47:08 +08:00
    一个优秀的代码民工应该向好的建筑和采矿工人学习,努力使自己有强大的体格,并且有着暴力倾向,确保自己能用上与自己的愤怒相衬的方式,去解决开发中遇到的问题
    bbs
        16
    bbs  
    OP
       2011-04-12 14:56:21 +08:00
    @keakon WOW 和前辈的想法一样 握个爪
    qichangxing
        17
    qichangxing  
       2011-04-12 18:20:02 +08:00
    @keakon 你如何判断是否适合?
    kamal
        18
    kamal  
       2011-04-12 19:54:22 +08:00
    @qichangxing 适合不适合凭气场就能知道
    shanghaikid
        19
    shanghaikid  
       2011-04-12 20:22:40 +08:00
    重构这件事情,如果项目不紧,大家都乐意就可以,不然吃力不讨好
    ine181x
        20
    ine181x  
       2011-04-12 23:15:33 +08:00 via iPhone
    mark 难得看到我感兴趣的主题讨论。重构不是一天完成的,可以逐步改进。
    icespace
        21
    icespace  
       2011-04-13 11:24:10 +08:00
    差不多每个新人都会如此,新工作,或者新公司.
    读到新代码,因为和自己习惯不同,或者因为不理解需求,再加上别人代码难读
    首先想到的就是开骂,琢磨这jb都是什么啊?
    这么乱啊,这么多条件判断啊,怎么设计的啊
    写的好丑陋啊,
    然后就想重构,琢磨着自己能把代码优化,更合理,更优雅
    如果真重构了,才发现,需求是这样的啊,运行条件是如此复杂啊
    写啊写啊,发现自己的代码也臃肿了啊,分支也多起来了啊
    杂七杂八的代码也来了,原来的设计也被打破了,
    自我迭代之后也面目全非了, 甚至根本跑不通
    才发现,原来前辈们不是省油的灯啊,
    原来人家糙快猛的代码真能跑啊
    原来自己改完了也操蛋了,别人读起来一样难受啊

    同学,源代码不是诗歌,
    GUI前端是最复杂多变,运行状态最多的部分
    前端哪怕只是负责展现也要比后台多得多的代码
    有些东西避免不了修补和丑陋

    在埋怨之前,先琢磨琢磨自己能给人家优化重构多少
    否则就等着吃苦头吧

    而且项目进度绝对不会让你在理想状态下工作
    你遇到的事情几乎注定会发生,
    最后你发现就算你全部重写,也一样丑陋
    bbs
        22
    bbs  
    OP
       2011-04-13 14:36:40 +08:00
    @icespace 你这说的....

    taobao的前端代码我怎么觉得不错呢!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5945 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 64ms UTC 02:12 PVG 10:12 LAX 18:12 JFK 21:12
    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