V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
CoX
V2EX  ›  JavaScript

看到这样的Javascript代码,你会做何感想

  •  
  •   CoX · 2012-11-01 16:13:11 +08:00 · 6100 次点击
    这是一个创建于 4434 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一直觉得自己的javascript水平属于半瓶子醋的样子,然后今天看到另外一个team的测试case代码,瞬间给跪了。整个team的很多case都在用这个模板,已经使用了快1年多了。

    19 条回复    1970-01-01 08:00:00 +08:00
    hafeyang
        1
    hafeyang  
       2012-11-03 00:48:39 +08:00   ❤️ 1
    如果说是否实现了功能,确实是实现了功能,但是要说代码的质量,太多的可以提高的地方。
    CoX
        2
    CoX  
    OP
       2012-11-03 01:01:31 +08:00
    @hafeyang 我只是觉得,这样的代码,整个team少说也有五六个人,都在用,就没人想到要优化一下;真的很无语。
    Livid
        3
    Livid  
    MOD
       2012-11-03 01:11:01 +08:00   ❤️ 2
    @CoX 每次想要优化什么的时候,发现似乎总有更重要的事情排在前面。于是,能 working 的东西就不去碰了。
    hpyhacking
        4
    hpyhacking  
       2012-11-03 01:18:24 +08:00   ❤️ 1
    淡定一些
    chone
        5
    chone  
       2012-11-03 01:24:16 +08:00   ❤️ 1
    这样的"历史遗留"问题其实很常见,快速迭代的话似乎能多留出一些机会消灭它。
    CoX
        6
    CoX  
    OP
       2012-11-03 01:51:24 +08:00
    @Livid 说的有一定道理。不过老话说的好,“磨刀不误砍柴工”,用这个模板再添加几组case,那又要改很多地方。因为涉及到很多人的很多case,貌似我也不太好直接给人反映这个问题。

    @hpyhacking 我也就是发个牢骚,现在淡定很多。

    @chone 也可能 team leader没想着去消灭它吧,都这么长时间过去了,还在这么用着呢。
    conis
        7
    conis  
       2012-11-03 09:49:21 +08:00   ❤️ 1
    很多人喜欢用find/replace/ctrl+v/ctrl+c
    dreampuf
        8
    dreampuf  
       2012-11-04 17:52:31 +08:00   ❤️ 1
    只要是paste的代码就有问题。
    noahua
        9
    noahua  
       2012-11-04 20:02:46 +08:00   ❤️ 1
    写成这样后面怎么维护?调试起来会极其痛苦
    liuyao729
        10
    liuyao729  
       2012-11-04 21:25:40 +08:00   ❤️ 1
    第一次要写好
    CoX
        11
    CoX  
    OP
       2012-11-05 10:19:41 +08:00
    @conis
    @dreampuf
    @noahua
    @liuyao729

    这些人以前主要是写c 或者c++的,所以写javascript写成这样也算是情有可原吧。可能leader只关注功能实现了。

    我重新写了下,稍做优化,其实也没花太多时间的。
    https://gist.github.com/4014930
    ledzep2
        12
    ledzep2  
       2012-11-05 12:40:34 +08:00   ❤️ 2
    copy & paste正是很多对编程无爱的程序员的工作方式。
    paloalto
        13
    paloalto  
       2012-11-05 13:28:12 +08:00   ❤️ 1
    虽不明但觉厉
    haohaolee
        14
    haohaolee  
       2012-11-05 14:35:08 +08:00   ❤️ 1
    @CoX C++程序员躺枪,就算是C/C++也不会写成这样啊。不管哪门语言,DRY都是重要准则
    leecade
        15
    leecade  
       2012-11-05 15:38:21 +08:00   ❤️ 1
    测试 case 不就该这样么
    CoX
        16
    CoX  
    OP
       2012-11-05 16:15:08 +08:00
    @paloalto 只是不淡定的时候胡言乱语一番而已

    @haohaolee 本意是想说他们可能对javascript不熟,所以才出现这种情况

    @leecade 你可能没看完代码,后面部分是吐槽点
    m4ker
        17
    m4ker  
       2012-11-06 12:23:48 +08:00
    是因为没有规范,没有审核,也没有review,这样是很正常,你没规定人家不可以这样写啊.
    zzcflying
        18
    zzcflying  
       2012-11-06 18:17:06 +08:00
    变量名好蛋疼。
    bengle
        19
    bengle  
       2012-11-06 19:47:36 +08:00
    思路倒是蛮奇葩的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2931 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:30 · PVG 21:30 · LAX 05:30 · JFK 08:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.