推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
des

javascript 的括号太多之后看不清层次

  •  
  •   des · May 30, 2015 via Android · 7979 views
    This topic created in 4005 days ago, the information mentioned may be changed or developed.

    层次太多之后分不清哪个是哪个
    特别是在参数中直接传一个匿名函数,然后直接调用这个函数,里面又有其他逻辑,东西多了就有点分不清了
    各位都是怎么看的,有技巧吗?
    j

    48 replies    2015-06-01 15:23:19 +08:00
    oott123
        1
    oott123  
       May 30, 2015
    coffeescript……

    如果只是看的话 换个好的 IDE 都有括号提示的
    hahasong
        2
    hahasong  
       May 30, 2015
    弃之,改写 python就没这个烦恼了
    des
        3
    des  
    OP
       May 30, 2015 via Android
    @oott123 IDE是有提示,但是某些情况还是看着晕
    funagi
        4
    funagi  
       May 30, 2015
    1. 换个好的IDE,如Webstorm;
    2. 用CoffeeScript辅助编写;
    3. 养成良好的习惯,避免过度嵌套,该隔开的隔开,该注释的注释。
    clino
        5
    clino  
       May 30, 2015 via Android
    缩进搞好点会不会比较好些
    des
        6
    des  
    OP
       May 30, 2015 via Android
    @funagi 小的js用webstom太慢,我用notepad++也不差啊,
    别人的代码你也不能强求吧,另外还有压缩过的,即使合适化了,有些也看着眼花
    funagi
        7
    funagi  
       May 30, 2015
    @des notepad++是不差,但顶多是瑞士军刀,比不上Webstorm这专业大杀器,太慢的话建议升级电脑,别亏待自己,当然没钱升级是另外一回事。
    既然是别人的代码,只能自己硬啃,多加点注释把代码段隔开,这种真的没多少技巧。
    aisk
        8
    aisk  
       May 30, 2015
    用 Promise 避免嵌套。
    oisc
        9
    oisc  
       May 30, 2015
    用两个空格缩进是趋势。。。。。逃)
    des
        10
    des  
    OP
       May 30, 2015 via Android   ❤️ 1
    @aisk 这个好

    @oisc 你的括号打反了 (逃
    des
        11
    des  
    OP
       May 30, 2015 via Android
    @oisc 到底是两个空格还是一个tab,另外空格也分全角和半角,反正都看不清… 感觉也是个坑
    oisc
        12
    oisc  
       May 30, 2015
    @des 空格党表示必须空格啊 ,写js还是应该想方法比如用then.js避免深层嵌套吧
    sudoz
        13
    sudoz  
       May 30, 2015
    代码风格很重要
    shiny
        14
    shiny  
    PRO
       May 30, 2015
    async.js、promise
    tux
        15
    tux  
       May 30, 2015
    {
    {
    {
    ;
    }
    }
    }
    zzetao
        16
    zzetao  
       May 30, 2015   ❤️ 1
    function a(){
    var b = {

    }//b end
    }//a end
    yyy
        17
    yyy  
       May 30, 2015
    推荐promise
    yimity
        18
    yimity  
       May 30, 2015 via Android
    这么多嵌套说明要重构成小函数了。
    imskull
        19
    imskull  
       May 30, 2015
    同建议promise,这个必须先完全熟练掌握,后面觉得多得话只能学会IDE高亮,超过一页就只能前后括号来回跳转着看了。
    scarlex
        20
    scarlex  
       May 30, 2015
    重构成多个小函数+1
    ikaros
        21
    ikaros  
       May 30, 2015
    同,即使有IDE或者编辑器提示是关闭哪个括号的,但是不能同时显示所有括号吧
    muzuiget
        22
    muzuiget  
       May 30, 2015
    这不就是回调地狱嘛,从代码格式(例如缩进,高亮对齐)下手都是治标,重构优化逻辑结构治本。

    有人还特意注册了一个网站,就还一篇文章 http://callbackhell.com/
    asj
        23
    asj  
       May 30, 2015 via iPad
    学lisp
    notcome
        24
    notcome  
       May 30, 2015 via iPhone
    用 PureScript 吧
    Ironsongming
        25
    Ironsongming  
       May 30, 2015 via iPhone
    赶紧写python去
    magicdawn
        26
    magicdawn  
       May 30, 2015
    lisp系笑而不语
    Gonster
        27
    Gonster  
       May 30, 2015
    @asj 学完lz要变成括号僵尸了^o^
    des
        28
    des  
    OP
       May 30, 2015 via Android
    @Gonster 想起特工偷代码的那个笑话了
    Gonster
        29
    Gonster  
       May 30, 2015
    @des 噗噗噗
    Axurez
        30
    Axurez  
       May 30, 2015
    ES6
    liran319
        31
    liran319  
       May 30, 2015
    @hahasong 论python缩进的好处XD
    gaotongfei
        32
    gaotongfei  
       May 30, 2015
    我也来说句, lisp大法好
    wolfan
        33
    wolfan  
       May 30, 2015
    听到python时我尽无言以对。
    karloku
        34
    karloku  
       May 30, 2015
    po主可以看我头像开心开心....
    zwy100e72
        35
    zwy100e72  
       May 30, 2015
    @liran319 缩进一删,代码就废
    论python的保密性(
    flashback313
        36
    flashback313  
       May 30, 2015
    Brackets 的括号高亮不错,喜欢 sublime 的话可以装一个 Brackets 的插件。
    luoway
        37
    luoway  
       May 31, 2015 via Android
    @hahasong
    @Ironsongming
    @liran319
    @zwy100e72

    学python 2还是3
    论python的版本兼容
    liran319
        38
    liran319  
       May 31, 2015
    @luoway 目前2的库还是丰富一些吧
    liran319
        39
    liran319  
       May 31, 2015
    @zwy100e72 保密完了要手动恢复也是基本无解啊
    jsq2627
        40
    jsq2627  
       May 31, 2015
    $(document).ready( function(){
    $("button").click( function(){
    $.get("demo_test.asp", function(data, status){
    alert("Data: " + data + "\nStatus: " + status); }); });
    jsq2627
        41
    jsq2627  
       May 31, 2015   ❤️ 1
    其实我要打的是这个样子的。
    easynoder
        42
    easynoder  
       May 31, 2015
    keep your code shallow
    skinqis
        43
    skinqis  
       May 31, 2015
    选个顺手的IDE, 写的时候注意换行和缩进, 层次还是很清晰的.
    上webstorm吧...个人感觉非常好用...各种高亮也是很符合习惯的
    tuoxie007
        44
    tuoxie007  
       May 31, 2015
    @jsq2627 你这样何苦呢,coffeescript很适合你
    joyee
        45
    joyee  
       May 31, 2015
    如果是callback hell造成的嵌套太多,CoffeeScript也没什么用的,不过就是从很多括号变成了很多缩进而已,如果你还是用2空格缩进,一样看得很痛苦……别人写的代码只能忍了,自己可控的代码可以用async/await/generator/promise/CPS逃离callback hell
    hxtheone
        46
    hxtheone  
       Jun 1, 2015
    @des 会有人在代码里用全角字符吗?
    des
        47
    des  
    OP
       Jun 1, 2015
    @hxtheone 比如有打中文的时候啊,一不小心忘了切回来……
    hxtheone
        48
    hxtheone  
       Jun 1, 2015
    @des 这也算。。一般遇到全角字符编译器/解释器就直接报错了吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2902 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 06:28 · PVG 14:28 · LAX 23:28 · JFK 02:28
    ♥ Do have faith in what you're doing.