作者ChowMein (杉斑加纹)
看板Ajax
标题Re: [讨论] js程式稍微一长 就会暴走得很难懂orz
时间Sat Sep 1 11:51:53 2012
※ 引述《carlcarl (carl)》之铭言:
: https://github.com/carlcarl/CaGo/blob/master/js/cago.js
: 大家好 最近想改一下之前写的程式 然後发现我很多又都看不懂了囧
: 总觉得就是乱~.~
: 这个程式主要是parse围棋棋谱 用canvas画出来这样@@
: 不知道能不能给我一点意见 关於架构或是style方面的 或是其他任何意见都可以
: 比如说
: 1.
: 有些变数我是为了不想每次都算才设的 像这种变数我就觉得很难命名orz
: 2.
: object的宣告好像也有点乱 有些必须先在prototype里面写好一些function才能宣告
: 3.
: 然後有些是object包含多重array 多重array里又包含object
: object里面又有一些属性的值
: 像这种 如果要拿object的值 我不知道是要直接一个function做完
: 还是前面的部份用function 然後後面自己拿物件的属性这样
: 一个function做完的话 又会因为整个架构一层包一层 命名又会变得很鳖扭orz
去掉下面说的糟糕处,
1. 还好啦, 至少我看得懂
2. 程式不大, object的宣告也不多, 所谓的乱也没那麽严重
GoMap MapMove Move Dead 我看到的就这四个
3. 没看细节, 所以...
最糟糕的地方是
var goMap = new GoMap();
var exGoMap = new GoMap();
goMap.insertEmptyMap();
for(var i = 0; i < FIXED_SIZE; i++) { ....
这个应该放到 main 里
var goMap;
var exGoMap;
....
main() {
goMap = new GoMap();
exGoMap = new GoMap();
goMap.insertEmptyMap();
for(var i = 0; i < FIXED_SIZE; i++) { ....
...
其它还不错, 可以用了, 除非要扩充功能, 也没必要再去改 XD
不然可试着改成 jquery plugin,
把myCanvas 和table放到内部生成再append, 使用时就可以这样,
$( "#divCago" ).cago( "file" );
再把变数封装好, 就可多个实体,
$( "
#divCago01" ).cago( "file" );
$( "
#divCago02" ).cago( "file" );
补:
我不知为何在firefox上没法 go,
改了後就好了
"go" : function(filePath)
{
//$.get(filePath, main);
$.ajax( {
url: filePath,
dataType: "text",
success: function(data){
main(data);
}
} );
},
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 112.104.185.228
※ 编辑: ChowMein 来自: 112.104.185.228 (09/01 12:07)
1F:推 carlcarl:我在firefox上面跑没问题的说@@a 09/01 16:52
2F:→ carlcarl:另外感谢你的建议! 09/01 16:53