讀一 二及十六章之後的思考

2022-05-25 09:48:09 字數 1755 閱讀 3648

我閱讀了p15/1.2.4軟體工程的目標——創造"足夠好"的軟體。有如下問題:

1.什麼樣的軟體才是乙個好的軟體?

2.bug的定義。

書中講到,什麼是好的軟體?一些同學認為,所謂好軟體,就是軟體沒有缺陷(bug),所謂軟體工程,就是把軟體中的bug都消滅掉的過程。這的確是專注了軟體工程的乙個要素。 

如何評價軟體好不好,有哪些評判的指標 

在談軟體優劣問題時,特別多的人提到了軟體質量這一概念。以下這篇部落格分享給大家:

如何對軟體質量進行評估?

上文提到,什麼是好的軟體?一些同學認為,所謂好軟體,就是軟體沒有缺陷(bug),所謂軟體工程,就是把軟體中的bug都消滅掉的過程。這的確是專注了軟體工程的乙個要素。

(如作業系統)或應用軟體(如文字處理軟體

)出錯。硬體的出錯有兩個原因,一是設計錯誤,一是硬體部件老化失效等。

在書中p16中寫到:什麼是bug呢?簡單的說,軟體的行為和使用者的期望值不一樣,就叫bug。是否是bug,取決於使用者、開發者的不同角度。但是在這裡我有個小小的疑惑:作者在定義bug的時候是僅僅從使用者的角度出發的,但是接下來作者說「是否是bug,取決於使用者、開發者的不同角度。」我很同意作者「簡單的說,軟體的行為和使用者的期望值不一樣,就叫bug。」這個定義。也同意作者「是否是bug,取決於使用者、開發者的不同角度。」這個定義。但是我總覺得這是兩個有衝突的定義。對這個問題我計較困惑,有點鑽牛角尖。

這一章,我看著比較困難,因為很多的專業名詞都沒有聽過。單元測試,回歸測試,效能分析等等。閱讀完之後,我想問,公司都有專業的測試人員,為什麼還要自己寫?

開發寫單測

優:開發對**最熟悉,而且開發技能也強,開發自己寫單元測試效率上和覆蓋率上都比較高。而且單元測試有時候需要開發對**進行部分重構才方便進行,開發自己做這些重構也比較順手。

缺:開發平時寫業務**就忙不過來了,哪有時間寫單元測試?而且大部分開發沒有太好的測試思想,單元測試可能只是寫個最簡單的用例就完了,最終可能單元測試通過,但基本的功能還是有問題,這樣的單測沒有太大作用。

測試寫單測

優:測試有比較好的測試思想,可以更好地保證用例的覆蓋。而且通過寫單測測試能更好地了解具體**結構、流程,對於後續的業務測試也有利。

缺:有比較好**能力的測試人員不多,而且測試對**沒有開發熟悉,遇上為了可測性需要重構的時候還是得開發花時間配合。效率上不如開發自己寫。

以我個人觀點,我覺得單元測試還是交給專門測試人員。

普通人與創新者的區別在**?

下面是我的拙見:

p340中說,靈光一閃現,偉大的創新就緊隨其後。p341中講:這些故事很有意思,但是他們沒有提到這些科學巨人在頓悟之前已經在相關學科打下了深厚的基礎.......他會頓悟嗎?我覺得普通人與創新者的區別之一就是創新者是厚積薄發,在某一刻頓悟而已。而普通人並不注重積累,只會在等乙個讓自己發現真理的契機,然而這並不可能。

p354中講,創新人事不滿足於「就是這樣」,而是**「為何會這樣,如果換乙個方式會怎樣?」我覺得普通人與創新者的區別之二就是創新人士不滿足於現狀,有強烈的好奇心。普通人會想:就這樣吧,這樣已經很好了。

p355中講:「做得不一樣很容易,做的更好才是非常困難的」。好多人都在創新,但是最後得到的卻是四個字:創新失敗。於是也便剝奪了他的創新者的稱號。的確如此,同類產品那麼多,不是你堅持就可以得到創業家的稱號,如果在手機盛行的階段你創新出來一部電台,意義又在**呢?

可口可樂公司乙個配方用了幾十年,至今仍是巨頭,他們不願意創新口味嗎?當然不是,只不過在他們創新口味了之後遭到了廣大人民群眾的不認可,創新失敗。如同作者講的,創新者不躲避風險,而是從錯誤中恢復並繼續努力。

讀一 二 十六章後的思考

第一章概論 第乙個問題 1.1軟體 程式 軟體工程中的第2個小例項 1.我成了一名職業程式設計師,但是我發現所有的演算法別人都已經實現了,我只要呼叫就可以。似乎我們公司的軟體與資料結構 演算法的關係都不大。那我當初辛辛苦苦學習的資料結構和演算法有用麼?如何區分乙個好的程式設計師和不好的程式設計師呢?...

讀構建之法第一 二和十六章有感(作業二)

第一次接觸這種型別的書,很好奇,感覺是在乙個高的角度 大的範圍來看我所學習的這個專業,作者的有些想法讓我耳目一新,但在書中我也有些許不太清楚的地方,希望在後面的閱讀中能得到答案,多讀幾遍總會有不同的感受和理解。一 第一章問題 原文 什麼是bug呢?簡單地說,軟體的行為和使用者的期望值不一樣,就叫bu...

讀第四章及第十七章之後的思考

讀第四章及第十七章之後的思考 第四章我在讀了p69頁中寫 函式最好有單一出口,為了達到這一目的,可以使用 goto 只要有助於程式邏輯的清晰體現,什麼方法都可以使用,包括 goto 我的問題是 我一直腦海裡對goto就沒什麼好印象,覺得 goto 是不可以出現在 裡的,這讓我很矛盾與疑惑。不過在群裡...