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 · 7302 次点击
    这是一个创建于 5006 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前一直没遇到过这种状况。今天去了家新公司,团队用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   ·   实用小工具   ·   5373 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:57 · PVG 14:57 · LAX 22:57 · JFK 01:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.