討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 討論區最近新進100則主題 軟體開發過程中有哪些資安漏洞?
[ 回上頁 ] [ 討論區發言規則 ]
10年以上coding功力經驗談.
更改我的閱讀文章字型大小
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/2 下午 06:21:13
程式debug的技巧 part1

10年以上coding功力經驗談.
--------------------------------------------------------------------------------------------

寫程式光是debug可能就要花去你寫完一個軟體時間的30%了.(可能不止)

重不重要?

debug其實已沒什麼技巧, 就是練.

寫1年跟寫2年, debug的功力絕對有差別.

1,2年可能看不出來, 但1年跟5年絕對有差.

不管天份怎麼高, 了不起是別人的30% off就應該是天才了
(就是別人寫1年的功力 在怎麼的天才 也要寫8.4個月的意思)

你常常會看到什麼天才 不到幾歲就會怎樣怎樣,

在程式界 真的看不到天才.(有成就都要20歲以上)

(程式界的天才 doom的作者是在22歲才寫出來的, 我也不相信 有人12歲就可以寫出來 )

因為debug就是經驗, 練愈久的人當然經驗愈豐富.


--------------------------------------------------------------------------------------------

看一個寫程式的功力 其實看debug的功力是最準的.

看到一堆白痴公司, 包括MS, 面試應徵人員不考程式 卻考些奇怪的問題.

難怪MS的軟體bug滿天飛.

不然就是考些自己公司軟體實做上的問題, 軟體即使都是同一種語言寫出來, 但範圍太廣.

隨便跨個領域 就不一樣. 這又如何考的出實力?

最簡單看出一個程式員的功力, 就是給他一電腦(有很多面試 連電腦都沒給你 靠個紙筆能幹什麼? )

給個1,2千行的程式, 告訴他這裡面的功能, 但有幾個bug, 叫他找出來.

還可以順便考 閱讀程式碼的功力.

這種鑒視度最高, 能力差別大的 很快就能區分出來.

--------------------------------------------------------------------------------------------

開始debug.

1.千萬不要精神不好 就想要debug, 先去睡覺 比較實在.

如果精神不好 都可以讓你找出bug, 那你精神好時 怎會寫出一堆bug?


2.千萬不要自己要做什麼都不曉得 就開始寫程式==>就進入complier 開始實做.

等你想清出自己要做什麼, 要增加哪個功能, 要做哪些細節, 等想清楚, 再寫code.

當然你可以弄個notepad 打打字, 把要做的多少打些出來. 但還是不要進入complier.

等想清楚了再來做. coding只是要驗證想法的正確與否.


看到一堆自以為是的笨蛋 老是以為coding 沒什麼, 反正出一張嘴, 就只要這樣這樣 不就出來.

你想的 我也會想. 不過我做的出來 你卻做不出來. 光只會打嘴炮 不如去當政客不要coding比較實在.

小東西要是實做能力不夠, 等到處理複雜的東西, 光是debug就會 debug到哭, 覺得人生無望, 我看可能會跳樓.
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/2 下午 06:26:52

part2:
-------------

以目前3D程式的複雜度, 我認為是2D程式好幾倍. 要是連簡單的2D都練不好, 3D沒多久就會放棄了.

2D是精確的整數, 了不起 位置 int (x,y), 顏色 byte(r,g,b), 再加個寬高int(w,h), 大概就處理完了.

3D光是一點就是 float(x,y,z), float可不是精確的數字. 只有0.333333, 沒有1/3.

更要命的: 運算結果不會出現1這種東西, 而是出現要命的0.9999999

(1.f/ 3.f) *3.f 電腦絕對不會出現1(也許有利害的complier會出現1)


float還有要命的範圍問題, 就是誤差. 數值範圍可能從200000~ -0.0000001這種東西.

要命的出現了, 參數0.01跟0.001 在3D裡面出來的結果就是會不一樣.

(我認為這是3D裡面最難debug的東西, 就是怎麼畫面沒出來, 看半天都沒問題啊 邏輯都正確,

結果只是設0.1跟設0.01的寫作不同 結果就不一樣)



float精確的問題 最明顯的表現在3D的z-fighting, 這幾乎是很難解的問題,

要解決這種看起來像是小問題, 反而要讓繞一大圈.

當然構成3D圖形不只要一個點, 還要面的資訊 int(f,f,f), 還要貼圖資訊float(tx,ty). 大概這樣.

在3D世界 說穿了 已經進入模糊的世界. 沒有精確度 只有近似度. 就是到達誤差可以容忍的範圍.


------------------------------------------------------------------------------------------------------------------------------

debug的技巧:

造成程式致命的bug, 就是那種跑一跑會當掉, 就是死掉 死當.

通每每個變數都有他的範圍, 變數初始止是很基本的技巧===>所有的變數都要被初始值.

因為3D處理的數值範圍太大, 隨便float一運算, 從3434343~0 -0.2323都有.

重要變數範圍都要做檢查, 就是你的程式只處理你要的範圍, 其他沒處理的都要直接把錯誤印出來,

提示出來, 讓你知道. 不然死當的機會很高.

這不是簡單的什麼陣列index範圍檢查, 而是float數值範圍檢查.

最常見的數值範圍在-1~1之間, 超出就會錯誤.

除以0也要檢查.

這些即使出現錯誤 也不會當掉.

關於那些3D遊戲宣傳, 只有美美的動畫宣傳 我是不大相信的.

還要實際試玩, bug還有操控性 都是很重要. 一款遊戲也可能被操控性給毀掉.

現在3D遊戲突然多起來了, 說穿了只是顯示卡的進步, 而造成的畫面好看而已.

很多問題 還是一樣沒有進步. 這當然就成為缺乏遊戲性的原因了.
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/2 下午 06:27:31
part 3

----------------------

用你擅長的語言功能:

c++用了10年, 我還是只用基本的class封裝功能, 其他什麼繼承 虛擬有的沒有的, 我都沒用.

STL也只用vector.

用你不熟悉的語言功能 只會增加你的負擔, 增加程式的bug.

(你大腦要記住這麼多語言的功能 還要把功能發揮 沒那麼容易)

一堆軟體工程寫的書, 看看就好. 反正是打嘴炮.

去看看人家真正實做出來的程式碼, 長的什麼樣子, 比較實在. 那是真正能跑的東西.

quake3程式碼都出來了, 自己去看看, 純C. 連基本的class都沒有.

bug會比較多嗎? 直接打死一堆書 一堆老師. 也直接打死什麼c++, java...一堆奇奇怪怪語言的發明者.


以最基本的UI按鈕的事件回應, 照我看來 windows的switch case 結構最經典, 最好用 好學 好懂.

你自己去實做一個類似的按鈕radio list.... 有的沒有的.

當然會用到什麼虛擬 繼承....

事實上 通通不用到, 改用windows的switch就很好用了.

java還搞出一堆奇奇怪怪的函式: 什麼addLister...說穿了就是函式指標.

寫出一堆奇奇怪怪的程式碼, 故弄玄虛. 結果做出來的功能也是一樣的.

但程式碼卻更多行, 那可是會多出上百行, 只會弄個什麼繼承 虛擬?

畫蛇添足 多此一舉. 程式碼愈多行, bug愈多, 閱讀 整理 就愈困難.

同樣的事件功能, win32 switch case程式碼數量 遠比那些什麼奇怪的 亂七八糟的 怪物件設計好上好幾倍.

我告訴你: 最直覺的程式設計 就是一行一行 有序的執行, 不止符合邏輯思考, 閱讀上也方便多了.

軟體上 一堆只是理論 理想. 聽聽就好.

----------------------------------------------------------------------------------------------------------------------------------------

只用class 就可把程式碼的整理給簡化很多了.

把data跟函式包在一起, 說穿了 就是一種程式碼的整理而已.

因為絕大部分都是函數只要一個就好, 函數是最基本的封裝.

每次需要就是傳的函式參數. 但參數一多 函數一多 就很難整理.

可能用個檔案把gobal變數 跟函數再放同一個檔案.

但這又不整潔. 所以class的發明 本身就夠偉大了, 資料要很多份, 函數只要一份.

a.GetPos(); b.GetPos(); 這樣多整潔.

如果不這樣寫, 只是單純的c, 光是a,b裡面的一大堆變數 就不知要放哪裡了.



對於奇怪的UML也無法認同 那是什麼鳥東西.

所有說明文件 只要寫的好, 好的函式說明: 傳入什麼 傳回什麼, 給個sample 都比奇怪的UML好多了.

好的class 說穿了 就是哪些是重要的變數 跟重要函數 讓你知道 就可, 只需看那些重要的變數函數.

其他都不用管. 簡化多了. 不然每個變數函數都一樣重要的話 那真是浪費時間.


--------------------------------------------------------------------------------------------------------------------------------------------

匈牙利命名法:

我認為這大概是MS對整個軟體業最大的貢獻.

只要一接觸到windows程式設計 一定會提到的變數命名法.

雖然有些人不以以為然, 但我認為這是相當好用的.

另外不需要用到那麼複雜.

m_, s_, g_, m_nPlayer, m_szName[30],....凡是陣列我也是用sz. m_szPlayer[10]

其他有需要 就自己加.

這說穿了 就是針對變數 給出範圍, 到底這變數是哪裡來的, 有沒有注意到: 匈牙利命名法 是針對變數不是什麼函數....

最基本的封裝是函式.

但一個函數會用到很多變數

void House::FunHouse(int a, int b )
{
   int i, x. name;

  w = myName(x );
}

w是什麼鳥東西?

照道理而言, w根本是個bug. 莫名其妙就冒出來.

結果找半天 不知道w在哪裡, 還要find in file, 結果跑出一堆w.

但如果只增加個 多寫m_w. 或是g_w. 一目了然.

m_w一看就知道是 class House裡面的變數, 馬上就可找到.

g_w 就知道這變數很重要 要小心 會在很多檔案裡用到.

這對debug有很大的幫助.

就是你寫的東西 到底在哪裡, 要能很快的找出來.

作者 : chiuinan2(青衫)討論區板主 Visual C++ .NET卓越專家VC++一代宗師Visual Basic優秀好手資訊類作業求救卓越專家一般曠世奇才程式設計甘苦談優秀好手C++ Builder優秀好手上班族的哈拉園地優秀好手C++頂尖高手Assembly優秀好手貼文超過3000則人氣指數超過150000點
[ 貼文 3732 | 人氣 170106 | 評價 34520 | 評價/貼文 9.25 | 送出評價 125 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/3 上午 06:20:25
很好的經驗分享.

就個人的經驗, 除錯 -> 偵錯 -> 容錯, 大都要一步一步來理解, 除非有人帶. 除錯, 20幾年前都會了, 偵錯是在10幾年前才學會, 容錯是大約10年前才體會到.

本文中, 某些部份個人不贊同, 但某些部份個人又非常贊同. 因此了解後, 化為自己的一套吧. 就如管理學所言, 管理是沒有標準答案的. 或許, 資訊也可比照辦理吧... -_-|||

軟工方面, 原po者可能有誤解了, 其實這是非常重要的事. 玩得愈久, 愈會覺得它很重要. 個人遇過太多自以為是的programmer, 不經同意直接就實作了. 做的好不好? 好! 客戶要不要? 不要! 然後呢...

這方面還有很多, 我可以列出一大篇. 例如做得很好, 客戶也需要, 然後寫完後, 沒人可以承接, 因為寫得太複雜, 也完全沒文件... -_-|||

以一個承接的programmer而言, 你想看程式碼, 還是想看文件? 但就個人經驗, 很多文件是為了文件而文件, 這個比沒有文件還更糟糕. 太多的不知所云, 跟程式碼完全不搭, 看得更加混亂, 那還不如沒有文件.

帶了人, 做了專案, 慢慢就會體驗. 程式人人會寫, 程度當然也有高低, 但最怕是寫不對方向. 這個已非純coding的事情了.
作者 : kagaya(kagaya) VC++優秀好手C++優秀好手貼文超過1000則人氣指數超過30000點
[ 貼文 1599 | 人氣 38709 | 評價 4590 | 評價/貼文 2.87 | 送出評價 115 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/3 上午 09:45:03
分享經驗很不錯
但是你對java的評價還真差
語言應該沒有高低才對吧
一個寫java十年跟寫c一年的人
你覺得哪一個寫出來的東西會比較好呢?
作者 : terenas(風) 貼文超過200則
[ 貼文 490 | 人氣 7440 | 評價 680 | 評價/貼文 1.39 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/3 上午 10:19:50

>分享經驗很不錯
>但是你對java的評價還真差
>語言應該沒有高低才對吧
>一個寫java十年跟寫c一年的人
>你覺得哪一個寫出來的東西會比較好呢?
>
人家講的主要focus 在code 的performance 及code 易讀性.
十年前的java 跟十年後今天的java, 就語言本身, 就差很多了.
java 本身有很多為OO 而OO 的地方, 有些地方的寫法, 變得不是哪麼直觀(當然其它的現代language 也有這樣問.)
例:
     int[] a = new int[] {1, 2, 3, 4, 5};

     for(int v : a)
     System.out.println(v);
例:
     int[][] a = new int[][] {
     {1, 2, 3, 4, 5},
     {10, 11, 12}
     };

     for(int[] row : a) {
     for(int element : row)
     System.out.print(element + " ");
     System.out.println();
     }

習慣了以上的寫法, 在語言之間的轉換就會變得不知所從
例如, 回到C++ 就沒這種東西.
而C# 呢
     int odd = 0, even = 0;
     int[] arr = new int [] {0,1,2,5,7,8,11};

     foreach (int i in arr)
     {
     if (i%2 == 0)
     even++;
     else
     odd++;
     }

變成一種, 各自為政的情形, 若是你一背子都寫Java/C#, 哪很好.
但若是你需要在各語言間走動, 則會發現, 還頂囉嗦的, 就是Java 因為新舊寫法都support.
同個系統中, 可以甲有甲寫的方式, 乙有乙寫的方法.
作者 : marlon(marlon) C#卓越專家貼文超過200則
[ 貼文 495 | 人氣 1886 | 評價 3510 | 評價/貼文 7.09 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/3 上午 10:45:27
待在自己的井裡看世界很容易把自己用不到的東西都歸納成垃圾, 做出以偏概全的結論

作者 : player(PLAYER) 貼文超過1000則人氣指數超過100000點
[ 貼文 1591 | 人氣 138661 | 評價 2840 | 評價/貼文 1.79 | 送出評價 104 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/3 下午 06:06:52
以下的順序, 隨個人喜好而有不同

方便除錯
容錯
效能
架構簡單化
模組化(程式碼共用, 資料共用)
使用者方便操作 (防呆, 直覺化操作...等)
...其他?
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4471 | 人氣 37262 | 評價 10890 | 評價/貼文 2.44 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 上午 07:39:52
天才通常都是對人類及整個世界有深遠的影響及貢獻 , 如 Galois , Gauss , Newton , Terry Tao , ...
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 上午 11:07:00
我想說的重點

前面有人提到過.
最直覺的程式設計 就是function base
就是 一行 一行 每一行 一個函式.
這是最符合思考方式.


最好的 program language
就是keyword 最少.
絕大部分的功能 用最少的語言就能寫出來.

太多關鍵字, 說真的 你要了解到每個關鍵字的功能 並且熟用 是很困難的.

class HelloWorldApp {
    public static void main(String[] args) {
     System.out.println("Hello World!"); // Display the string.
    }
}

一個簡單的print 竟然出現一堆嚇死人的關鍵字
你看到沒有 上面只有 Hello World!" 字串是你的, 其他都都是java的.
到底是誰在寫程式?


以c而言:
int main()
{
print("Hello World");
}


public static void main()
又是 public 又是 static 這是什麼什東西
我很懷疑 有人能把一個函數的宣告弄得清楚 這是在寫什麼?
把簡單的東西複雜化
寫出一堆自己都不清楚的東西.

一個簡單的print()竟然要寫成 System.out.println, 又臭又長,
為物件而物件, 簡直弄反了, 做出來的結果都一樣.

這種重要的函式: 只要一個print()大家就知道了.
根本沒必要去懂 System 是什麼 out又是什麼.

又是同樣的問題 你又寫了一堆你不知道的東西.


為物件而物件 多出來的程式碼 沒有多增加什麼功能

要說 程式碼閱讀跟維護 我一點都不會覺得比較輕鬆.
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 下午 01:18:38
c++有一個該改善的地方 就是一值沒做.
class 裡面變數的初始.

class CHouse
{
  int m_nMan;
  int m_nWoman;

CHouse()
{
m_nMan=3;
m_nWoman = 5;
}

};
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 下午 01:22:42
接續上面 不小心enter

看到沒有 光是初始一個變數 要寫兩次
光打字 就打到受不了

如果支援這樣:

class CHouse
{
  int m_nMan =3;
  int m_nWoman =5;
};

這種功能 complier 要是有支援 少打很多字, 而且一看就知道
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4471 | 人氣 37262 | 評價 10890 | 評價/貼文 2.44 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 下午 02:03:47
保持彈性, constructor is responsible for doing this if programmers want to initialize them.
作者 : terenas(風) 貼文超過200則
[ 貼文 490 | 人氣 7440 | 評價 680 | 評價/貼文 1.39 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 下午 03:48:31

>保持彈性, constructor is responsible for doing this if programmers want to initialize them.
就將預設值的當作是constructor 的一部分不就好了?? 沒有彈性嗎?
畢境變數預設值, 最麻煩還是array.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4471 | 人氣 37262 | 評價 10890 | 評價/貼文 2.44 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/4 下午 04:01:12
這可能只有 the father of c++ 才回答你的疑慮
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4471 | 人氣 37262 | 評價 10890 | 評價/貼文 2.44 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/7 上午 11:13:34
his page and contact
http://www2.research.att.com/~bs/
bs at cs.tamu.edu or bs at research.att.com
作者 : terenas(風) 貼文超過200則
[ 貼文 490 | 人氣 7440 | 評價 680 | 評價/貼文 1.39 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/7 下午 01:27:04
不用問BS 了, C++11 support 了.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4471 | 人氣 37262 | 評價 10890 | 評價/貼文 2.44 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/12 下午 07:50:36
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf - C++11 working draft
作者 : wuyz(小新)
[ 貼文 5 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/2/18 下午 01:38:54
哈哈深有同感
真正的實用技巧要去看那些老鳥寫的程式碼
書上的真的太理論了
可以看看但是別真的照做

還有公司的面試方式真的很少有在用心的
用輕薄的考卷是可以幹嘛啦XD
 板主 : 小呆 , 冷眼
 > 遊戲程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 遊戲程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
遊戲程式設計
1 aming 2280 
2 冷眼 1450 
3 阿西德倫 510 
4 PLAYER 390 
5 garf 340 
6 Akira 330 
7 白老鼠(Gary) 290 
8 BlueTulip 270 
9 東昇 250 
10 CCL 240 
遊戲程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.09375