討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 最紅的App開發語言:Kotlin
[ 回上頁 ] [ 討論區發言規則 ]
把程式寫到複雜到讓人看不懂
更改我的閱讀文章字型大小
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/10 下午 11:09:33
ms的dxsdk9 sample裡面會用到的 gui, 就是DXUTgui.cpp DXUTgui.h
用來做些ui功能.
一個檔案6800行 另一個h檔1300行

有興趣的自己下載dxsdk

怎麼做的 就是

class CDXUTControl
{
public:
    virtual ~CDXUTControl();

    virtual HRESULT OnInit()
    virtual void Refresh();
}

就是虛擬 繼承...然後寫出一堆control. 全部實做出來 花了8000行

他的繪圖部分很難看 想修改成我想要的.

然後我想看他怎麼寫的 或是想辦法修該成我想要的 結果看不懂啊

你告訴我 8000行 要怎麼下手? 只是個ui的元件而已.

說真的8000行的source code 對我卻一點幫助都沒有.

-----------
我10年前這樣做ui的, 搞什麼虛擬繼承...當然元件沒有那麼多.
最近又把以前整理, 全部繼承 虛擬都砍掉.
我只花了1000行 就做出基本的元件了(沒有DXUTgui.cpp那麼多元件)

他裡面還有 template <class T> class CDXUTStack
一大堆 template
真是難懂

有需要這樣嗎? 你告訴我 他裡面的程式碼 要如何重新修改成我想要的?

--------------------
其實是另一個問題 才會讓我看ms的程式碼.

我是要看我memory leak, 結果一跑出來, 都是

TYPE* pDataNew = ( TYPE* )malloc( nNewMaxSize * sizeof( TYPE ) );

都是 memory leak,

這下光是要抓bug 我看不只要抓8000行.


又是虛擬 又是template (這不是有 STL了嗎?)

需要把程式寫到複雜到讓人看不懂嗎?

這種UI的東西 根本沒有技術可言, 只有架構, 架構夠清楚 就容易擴充 修改.

作者 : daniel(冷眼)討論區板主 VC++優秀好手遊戲程式設計優秀好手DirectX優秀好手C++優秀好手貼文超過1000則人氣指數超過70000點
[ 貼文 1564 | 人氣 84169 | 評價 6990 | 評價/貼文 4.47 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/11 上午 12:15:52
看不懂代表coding的能力還不太夠。。
多下載些開源專案來看吧∼

那source應該算轉捩點。之前大家還在用dx7繪製ui
從那開始很多ui應用才出現。。

你也可以看用java核心改寫的opengl ui
不過建議你看一下四人幫的書。比較容易了解

3d ui 不會很難只是很浪費時間寫元件。。
找找我之前的舊文應該有討論過 (XD 因為我寫過)

虛心點。寫10年程式並不是天下無敵了
你只是進入一個階段以為自己很強。再5∼10年你會發現你不知會什麼 那又是另個階段了∼∼
作者 : pgamer(pgamer)
[ 貼文 109 | 人氣 601 | 評價 140 | 評價/貼文 1.28 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/10/11 上午 07:51:43
dx sample DXUTgui.cpp 裡面 只要每個元件new時都要跑到這個template

結果一跑出來的卻是這個部分有memory leak, 而也不只出現一次
TYPE* pDataNew = ( TYPE* )malloc( nNewMaxSize * sizeof( TYPE ) );

問題是他寫了10個元件, 這下子要知道到底是哪個元件有問題 都很困難.

-----------到目前為主 只有XP那種軟體工程精神 才是最有用的

用簡單的程式 解決複雜的問題

程式碼愈多行 bug愈多, 這是簡單到不行的道理.

我只要浪費一點記憶體, 就可以把架構大幅簡化(程式碼大量減少)只用一個class做出所有的ui了(以簡單元件而言)

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

C++裡面最沒用的的三個東西: 虛擬 繼承 template

又複雜 又難學 難看 難寫 難懂 bug還特別多.

只要用到這三個東西 我保證你的程式碼是又臭又長 bug還特別多

作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/11/22 下午 06:02:58
我覺得lua滿適合用來寫遊戲
可以去參考love 或是Luxinia Game Engine
作者 : guybrush321(蓋柏拉許)
[ 貼文 13 | 人氣 1785 | 評價 70 | 評價/貼文 5.38 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/1/11 下午 11:49:11
要寫遊戲ui還是別用M$,如果要跨平台就腫了,

但如果只在PC上跑,就直接使用也可,省時省力比較實在,

除非有餘力去開發架構來寫自已的。
作者 : pantc328(好說) C#優秀好手貼文超過500則人氣指數超過10000點
[ 貼文 894 | 人氣 14154 | 評價 3400 | 評價/貼文 3.8 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/1/12 上午 10:14:44
daniel(冷眼)說:
看不懂代表coding的能力還不太夠。。
多下載些開源專案來看吧∼

6000多行多不多,少不少,看不懂,下載再多Open Source 也還是看不懂
看Code 不只經驗,還有方法論
每一件技術是很多子技術的集合
不是一開始就下載好幾萬行的Code來看
而是買書和看原廠技術文件把關鍵點搞懂

每種技術領域,也有架構方式,如果沒有架構方式一個檔案一個方法裡寫6000行程式
1.不好寫
2.容易出錯
3.不易維護
4.不易合作
所以你要找出Code的寫作風格,還是這項技術通用的寫作風格
你就可以很清楚
1~2000做什麼
2000~4000做什麼
....

像我研究Open Source.隨便專案都好幾萬行,雖然我不是寫Game
但我可以很快找到配接點,很快的改Code
很快的知道他們怎麼做
很快的知道這Code有無害處..


 板主 : 小呆 , 冷眼
 > 遊戲程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 遊戲程式設計 - 知識庫
  ■ 全站最新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.046875