構建之法讀書筆記

2022-06-08 20:21:08 字數 1479 閱讀 9055

在上一次,我讀了大道至簡,在大道至簡中,我理解了軟體開發所需要的是簡化與便捷,這是軟體工程需要思考的地方。而在構建之法中,我學到了軟體開發中更符合我的問題的東西。

書中說,軟體工程師的成長分為四個階段:玩具時期,愛好者時期,探索者時期,行業時期。在這四個時期中,我處於玩具時期。還沒有掌握最基本的東西。

我們在學校中學習的只是如何去做軟體,但是軟體是給使用者用的,使用者不會去考慮軟體的核心,軟體的原理,使用者的感受就是直觀的介面,我們需要考慮客戶的各種錯誤,提高軟體的容錯率,即使是再小的錯誤也要完善,因為再微小的錯誤也可能在使用者手中發生。

軟體的特點:複雜性,不可見性,易變性,服從性,非連續性。這些特點決定了軟體工程師需要克服的方向。

軟體工程相對於電腦科學,更注重短期的實際結果與實踐性,可靠性,在多種角度中尋找最成熟的實踐方法來實現工程。

軟體不是完美的,他是需要後續不斷完善的,軟體工程師需要做的是在預計的時間完成「足夠好」的軟體,並且給軟體留出後續的發展空間。

單元測試,我讀了這本書才知道有單元測試這個東西,他更像是寫完一小部分就執行一下看看對不對,但是單元測試把這個步驟模組化了,單元測試不需要將所有的錯誤都測出來。

**的複雜性決定了單元測試的複雜性,所以需要將**簡化,但是簡化的同時可能面臨**執行的低效率,所以可以單獨給效能寫乙個單元測試。

乙個軟體工程師和乙個軟體工程學生在乙個軟體上所花的時間佔比來看,軟體工程師更多的將時間放在了分析需求和計畫中,程式設計的時間反而少了很多。

在github上管理自己的**

軟體開發中遇到的問題:分析麻痺,分析過多的依賴關係而不去實際解決問題

不分主次:看見什麼問題就去解決什麼問題,不去分析其中的依賴關係

過早優化:在還未完成乙個軟體的時候就開始對功能進行修改優化

過早擴大化:說白了就是亂畫餅,最後自己根本沒有能力去實現

舒適區:低層次問題(自動操作)

學習區:中間層次的問題(花腦力解決)

恐慌區:高層次問題(無暇顧及)

在學習的過程中,我們應擴大自己的舒適區,把基礎操作變成自動操作,而去加固自己的學習區,恐慌區會慢慢移動到學習區。

據構建之法中所說:縮排最好的是四個空格,行寬應設定為100,應用括號把優先順序括起來,

{}都需各佔一行。

命名問題:在命名時可以把變數的字首,修飾詞去掉,前提是不影響閱讀,做有必要的精簡,名字要直達意義。下劃線用於字首。大小寫:類和函式名第乙個字母都大寫,變數的第乙個單詞小寫,後面的單詞首字母大寫。

注釋問題:注釋的意義在於了解程式是做什麼的,為什麼這樣做。避免無用注釋,注釋應寫在函式前面。

函式問題:乙個函式只需要做一件事,並且要做好。

要在軟體中做好錯誤攔截,優化使用者體驗。

對於團隊合作,我目前還沒有體驗過,但是從書中我了解了團隊合作可以幫助程式找出隱藏錯誤,並且可以相互影響。

在如何進行工作方面,我也是沒有頭緒的,我還處於玩具階段,還沒有資格去參與到工程製作中。

總的來說,軟體工程是面向人的工程,我們所做的一切,不考慮學術方面的東西,我們做出來的東西是為人服務的。

構建之法讀書筆記

場景 故事 版權 版本 維護人 1.背景 a.典型使用者 姓名 性別 年齡 職業等 b.使用者需求 痛點 c.假設 2.場景 關於這個場景的文字描述角色 與軟體互動的角色,如使用者等其他實體,甚至時間 主要成功場景 一系列步驟 步驟 描述每一步的互動 擴充套件場景 描述一些意外情況 軟體功能說明書 ...

《構建之法》讀書筆記

乙個軟體除了穩定 功能強大,使用者體驗也很重要。程式開發人員和測試人員在強調其功能和效能的同時,還有一點很注重的就是使用者體驗。在我們學習的最初階段老師們就強調對於軟體開發來說使用者體驗的重要性,無論軟體還是硬體,都有很多功能部件,各個部件還要郵寄的結合起來,才能滿足使用者的需求。其中有一點特別,就...

《構建之法》讀書筆記

第一節軟體工程課上,楊老師力薦同學們務必要人手一本 構建之法 第二版。課上說到這本書無論是對學習軟體工程學科的學生,還是教授軟體工程課程的老師,或是從事軟體開發行業的相關人員,都是一本令人受益良多,大開眼界的著作。於是課後便立馬訂購了這本書。坦言之,作為乙個跨專業的學生,之前對軟體工程學科知之甚少,...