Re: [討論] js程式稍微一長 就會暴走得很難懂orz
※ 引述《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)
推
09/01 16:52, , 1F
09/01 16:52, 1F
→
09/01 16:53, , 2F
09/01 16:53, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):