第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# 怎么才能高效,快速的看懂別人寫的項目?

C# 怎么才能高效,快速的看懂別人寫的項目?

幕布斯7119047 2018-11-21 09:11:53
拿到一個項目的源代碼,可能是winForm,也可能是Web項目,一般都是怎么看才能快速的了解這個項目?你們拿到項目時是按F11來閱讀的嗎?我是菜鳥,求指導!
查看完整描述

2 回答

?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

這個要看源代碼質(zhì)量如何了,如果質(zhì)量很差,那沒辦法,很難~~

如果質(zhì)量很好,個人認為要按Top-Down的方式來看:

1. 了解需求

2. 看項目結(jié)構(gòu),一般項目結(jié)構(gòu)會體現(xiàn)中系統(tǒng)結(jié)構(gòu)上的層次,并根據(jù)經(jīng)驗和項目命名猜測作者的設計思想

3. 然后展開項目看目錄,同樣,根據(jù)經(jīng)驗和目錄命名猜測作者的設計思想,例如,如果看到一個目錄為Caching,那它就是和緩存有關,若是Data,則可能和數(shù)據(jù)訪問有關,在你看目錄的時候,就都是看目錄,不要去看其中的類的實現(xiàn)細節(jié)

4. 然后展開目錄瀏覽文件,根據(jù)文件名猜測該文件是做什么用的,對于部分感興趣的文件可打開看詳細,但大部分暫不用看那么細

5. 通過以上幾步,對項目的整體構(gòu)造應該有了一些了解,這時可以隨手找一些接口、抽象類走馬觀花式的查看,不用太細,只為加深一點理解和印象

6. 然后找一個入口點,比如界面上的某個操作,通過代碼看他大概調(diào)用了哪些文件,如果這件代碼中嵌套調(diào)用了其它接口、類和方法,則先不用看嵌套調(diào)用的那些,先只看當前文件,比如現(xiàn)在在看一個名為CreateOrder()(創(chuàng)建訂單)的方法:

public void CreateOrder(...) {    if (IsValidUser(user)) { 
       var orderId = OrderIdGenerator.GenerateId();       var order = new Order(orderId);
       ...
    }
}

其中嵌套調(diào)用了IsValidUser(),GenerateId()這兩方法,但我們先不用去看它們的細節(jié),因為從名字上看,就已經(jīng)可以知道它是在驗證用戶,生成一個OrderId,當前的目標就是了解CreateOrder,看完了CreateOrder,才再考慮是否再看看GenerateId()的細節(jié)以了解Id的生成方法。

綜上所述,原則上是采用至頂向下的方法,一層一層往下剖析,在看上層時,先不用太了解下層的細節(jié),例如,看目錄時就是看目錄,不用馬上打開里面的類看實現(xiàn)細節(jié)(也可以說我們要采用廣度優(yōu)先的方式查看代碼,而不是深度優(yōu)先:-))。一般也不用看到最底層,因為項目的開發(fā)過程中會慢慢了解底層細節(jié),一般了解了大體結(jié)構(gòu)就可以接手開始做了。


查看完整回答
反對 回復 2018-11-25
?
Helenr

TA貢獻1780條經(jīng)驗 獲得超4個贊

項目,

1\先了解業(yè)務;

2\結(jié)合業(yè)務整理數(shù)據(jù)庫

3\結(jié)合業(yè)務將系統(tǒng)流程走一遍

4\結(jié)合代碼,數(shù)據(jù)庫,業(yè)務進行全面了解.

工具方面:

可以借助Recharper進行看,主要功能:轉(zhuǎn)到定義,轉(zhuǎn)到實現(xiàn),找到文件在解決方案中的目錄位置,快速找到項目中的文件等.


查看完整回答
反對 回復 2018-11-25
  • 2 回答
  • 0 關注
  • 2327 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號