1. 程式人生 > 其它 >閱讀筆記:程式設計師修煉之道10

閱讀筆記:程式設計師修煉之道10

  估算來自哪裡:所有的估算都以問題的模型為基礎﹑但在我們過深地捲入建模技術之前,我們必須先提及一個基本的估算訣竅、它總能給出好的答案:去問已經做過這件事情的人.在你·頭創進建模之前.仔細在周圍找找也曾處在類似情況下的人.看看他們的問題是怎麼解決的你不大可能找到完全相符的案例.似你會驚奇有多少次.你能夠成功地借鑑他人的經驗.

  理解提問內容:任何估算練習的第一步都是建立對提問內容的理解﹑除了上.面i討論的精確度問題以外、你還需要把握問題域的範圍這常常隱含在問題中,但你雷要養成在開始猜想之前先思考範制的習慣常常、你選擇的範圍將形成你給出的解答的一部分:“假定沒有交通意外,而且車裡還有汽油、我公在20分鐘內趕到那裡“

  建立系統的模型:這是估算有趣的部分﹐根據你對所提回題的理解,建立粗略、就緒的思維模型骨架刻果你是在估算響應時間,你的模型也許要涉及伺服器和某種到達流( arrivingtraffic〉對於一個專案、模型可以是你的組織在開發過程中所用的步驟、以從系統的實現方式的非常粗略的圖景.建模既可以是創造性的.又可以是長期有用的:在建模的過程中,你常常會發現--些在表面上:不明顯的底層模式與過程:你甚至可能會想要重新檢查原來的問題:“你要求對做X所需的時間進行估算﹐但好像X的變種Y只需一半時間就能完成,而你只會損失個一特性:”建模把不精確性引人了估算過程中這是不可避免的,而且也是有益的︰你是在用模型的簡單性與精確性做交易﹑使花在模型.上的努力加倍也許只能帶來精確性的輕微提高你的經驗將告訴你何時停止提煉“

  把模型分解為元件:一旦擁有了模型、你可以把它分解為糾件.你須要找出描述這些組什怎樣交石.的數學規則︰有時某個元件會提供個值、加入到結果中﹑有些組什有著成倍的影響,而另一些可能會更為複雜(比如那些模擬某個節點上的到達流f的元件)你將會發現,在典型情況下,每個元件都有·些引數、會對它給整個模型帶來什麼造成影響在這--階段、只要確定每個引數就行了