跳到主要内容
CNode

高手们写的node代码都是怎样的优美?

问答
Jjesseky发布于 12 年前最后回复 12 年前
1265520

比如我菜鸟写成这样:

var exec = require('child_process').exec; var sprintf = require('sprintf-js').sprintf; var http = require('http'); var https = require('https'); var url = require('url'); var fs = require('fs');

然后就发现 全局变量太多了,尤其是 url 这样的,很容易在后续的代码里 定义一个变量 var url = 'http://www.baidu.com' ; 然后代码就蹦掉了,我还查了半天才知道问题出在哪里。 当然,所有node的教程都是这么叫大家写这样随意的代码的,这样的代码肯定无法做大规模的工程吧?

可是一些系统的暴露的全局变量比如 process,比如 console 这样,为什么不用一个统一的全局变量比如 NODE.process, NODE.console ? 请教一下高手们优美的代码都是怎么样的?

查看回复

回复 (12)

L
lb1104#1112 年前

var $url

A
alsotang#1012 年前

sublime 装个 jshint 可以避免不少低级错误

D
duoduoyi#912 年前

var _g={}; _g.exec =.... _g.sprintf =... _g.url =....

.........

或者命名上区分下就是了 var globalExec =.... var globalSprintf =... var globalUrl =....

M
MiguelValentine#812 年前

关于process,是抽象汇编解释器的线程。底层是C? (function(process){ var global = this; …… })() 这个是NODE的启动。

M
MiguelValentine#712 年前

高手不都是

var a =xxx var b =xxx …… var af =xxx …… var zzz =xxx (第26x26x26个函数)

(:з」∠) 我就是来卖个萌

T
TossShinHwa#512 年前

很少一个module会依赖这么多组件.

A
afc163#412 年前

不用 global 的话,node 里哪有全局变量?var 出来的都是模块内的局部变量。

B
billtt#312 年前

可以多看看GitHub上的代码 恩

C
coolicer#212 年前

用IDE吧,会提示重复定义

1
119786155#112 年前

楼主的代码挺优美的

参与回复

登录后即可参与回复。登录