Re: [心得] 為什麼軟體開發者需要在意軟體品質指標

看板Soft_Job作者 (guest)時間13年前 (2012/05/28 13:19), 編輯推噓5(50142)
留言147則, 9人參與, 最新討論串14/20 (看更多)
※ 引述《HYL (@EVERYWHERE)》之銘言: : ======================================================================== : 一般我們在談軟體績效指標時,多講的是 *Lines Of Code*, *Number of Functions* : , *Number of Classes*, *Cohesion and Coupling*, *Test Coverage* 等 : ,但是,我今天想講的不是這些靜態分析所使用的指標,而是在程式運行時 : 的評量指標 Production/Runtime Quality Metrics。 : 這些執行階段的品質指標,讓我們了解程式在運行時的效率(performance), : 可靠度(reliability),可用度(availability),維護性(maintainability)等 : 重要問題。 : 為什麼我們要在意這些指標 : ========================================================================= 其實原始文章他要談的品質是這4點,跟什麼 test case 完全無關。 這四點其實是牽扯到「系統結構」跟什麼測試一點關係也沒有。 有些網頁開起要 0.N 秒才出來,甚至超過 1秒,這就是效率問題, 這些我都覺得很誇張,一樣的程式語言,一樣的需求,不同人寫 開啟的時間只需要 0.0N 秒,是前面那些的 1/10 甚至是 1/100 的用時。 然後那些寫出 1 秒才開啟頁面的工程師,的就開始找環境設定, 找一些偏方,最後的結論是:不需理會,以後電腦等級更好就解決掉。 實際上,偏偏就是手機出來了,硬體配備性能往下掉,你不去把 framework 底層搞定?卻一直怪罪是硬體不好?設定沒有最佳化? 結果後面卻出來一個配備更慘的執行環境出來了你怎麼辦。 可靠度沒啥好談的,過去我也曾經被罵過, 「製作一個故意讓使用者去犯錯的系統」, 怎麼說?你要禁止客戶使用 A 功能,有兩種方式, a方案: 直接不讓使用者使用這個的機會,讓他在螢幕上消失。 b方案: 讓使用者點選後,才告知不可以做這個步驟。 這兩種 a 的可靠度會比 b好,我過去的程式a跟b都寫過,但b這件事我被罵過, 你就是引誘使用者犯罪!! 卻去怪使用者使用不當? 要有可靠度,還是要有一個人性化的 UI處理。不要引誘使用者犯罪。 可用度: 這件事我也曾經跟好朋友吵過(筆戰而已)..他跟我講我的東西寫這麼陽春, 還在這邊沾沾自喜。站在工程師的角度,我的東西真的很兩光,明明可以寫 更好卻只有寫這樣子,但實際上很多人的思維就是工程師的思維,結果幫 客戶想了一大堆「自己認為好用的功能」,上線後客戶根本不領情,那些新增的 功能根本使用率不到 30%。好心還被人家嫌。 所以我根本聽聽就算了,一樣貫徹同樣作風,客戶有要求寫給你,沒要求不要自 己找麻煩,寫了還浪費我的開發成本哩。人家全部的功能都有用到,還稱讚你的 系統真好用(但對懂的工程師來看這個系統,他們會認為你做的真的超兩光,請問 你也是工程師角度看系統的人嗎?還是客戶使用度看系統的人) 維護性: 為啥很多公司,工程師離職後,系統就要打掉重寫??因為寫的很爛嘛~~ 新來的人維護的很痛苦,乾脆重寫。 真的爛嗎?老人沒離開前,這個系統可是活了好幾年,怎麼用都不會壞, 哪會爛阿? 但新人來看完他的原始碼就是搖搖頭,認為需要重寫。 這個議題不發揮了,有興趣的人,自行把後面的內容補齊。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.76.15

05/28 14:58, , 1F
我認為軟體工程師必看的文件:test_list
05/28 14:58, 1F

05/28 14:59, , 2F
也就是測試清單。不過一般人都不做。所以浪費了unit_test的
05/28 14:59, 2F

05/28 14:59, , 3F
好意。每個功能函式都有一個清單說明他們的功用和測試結果
05/28 14:59, 3F

05/28 15:00, , 4F
那其實函式本體也不太需要寫什麼註解了。
05/28 15:00, 4F

05/28 15:01, , 5F
而最後產出的正好就是給工程師們做維護用的程式手冊。
05/28 15:01, 5F

05/28 15:02, , 6F
簡單來說,越是要應付需求的變化。測試就顯得越重要。
05/28 15:02, 6F

05/28 15:05, , 7F
我想我們都並不喜歡工程師卯起來就亂寫code。
05/28 15:05, 7F

05/28 15:38, , 8F
必看文件的定義是沒有他就沒辦法做下一步..實際上Tlist
05/28 15:38, 8F

05/28 15:39, , 9F
像你所說.很多公司都沒有..所以不是必要..真的必要只有
05/28 15:39, 9F

05/28 15:40, , 10F
原始需求書/DB結構/規格書 三樣.尤其第1項才是必看
05/28 15:40, 10F

05/28 15:41, , 11F
其實你想看啥..只要你是付錢的人..你要啥我都生給你.
05/28 15:41, 11F

05/28 15:51, , 12F
沒有不是因為必不必要。是會不會寫會不會用而已。
05/28 15:51, 12F

05/28 15:51, , 13F
沒有並不代表他就不必要。
05/28 15:51, 13F

05/28 16:11, , 14F
也許你的公司比較有制度.有很多詳細文件.我換過的公司也
05/28 16:11, 14F

05/28 16:12, , 15F
不少.很可惜絕大多數連我上面講的三大必要文件都殘缺.
05/28 16:12, 15F

05/28 16:15, , 16F
現在我的觀念都不是那些文件.最重要的文件是「驗收單」
05/28 16:15, 16F

05/28 16:16, , 17F
實際上 需求書->測試列表->驗收單 還不是內容快接近??
05/28 16:16, 17F

05/28 16:17, , 18F
我描述過內部都不會有問題.你是我的主管..你要啥我通通
05/28 16:17, 18F

05/28 16:18, , 19F
生給你. 內部根本不是問題..重點是客戶.你要去塞住客戶
05/28 16:18, 19F

05/28 16:19, , 20F
的嘴巴.不要讓他亂搞.天馬行空.加東加西..驗收單是來
05/28 16:19, 20F

05/28 16:20, , 21F
管理客戶的.讓案子結案的..其他的你喜歡啥文件都沒關係
05/28 16:20, 21F

05/28 16:21, , 22F
只要做這些事情公司還有賺錢..付薪水的老闆愛啥就給啥.
05/28 16:21, 22F

05/28 16:30, , 23F
以前在別版我提過山寨手機跟原廠手機的案例..內容太長
05/28 16:30, 23F

05/28 16:31, , 24F
不想再打.我只想問你你買不買路邊攤衣服?路邊攤品質差
05/28 16:31, 24F

05/28 16:32, , 25F
你幹嘛買他?? 賣山寨手機賺比較多還是原廠? 這個版是
05/28 16:32, 25F

05/28 16:33, , 26F
工程師聚集地..大家思維都是理工人的思維.連你提 TList
05/28 16:33, 26F

05/28 16:34, , 27F
全都是一樣..我現在雖然還在做這種苦工行為.但我受過市
05/28 16:34, 27F

05/28 16:37, , 28F
場的洗禮過..比較跳脫這類宅男思維..你這是理工人的思維
05/28 16:37, 28F

05/28 16:38, , 29F
理工人思維對理工人來說原本就是「對的」..我從沒說你錯
05/28 16:38, 29F

05/28 20:27, , 30F
看你說了一堆謬論真是讓人汗......
05/28 20:27, 30F

05/28 20:28, , 31F
而且我認真的思考你到底有沒有看過敏捷軟體相關的書。
05/28 20:28, 31F

05/28 20:28, , 32F
如果要說工人?難不成一堆美國資深高級工程師都是工人思維?
05/28 20:28, 32F

05/28 20:29, , 33F
每個人都有每個人驗證良好的作法。
05/28 20:29, 33F

05/28 20:29, , 34F
不是像你一樣直接把別人的東西批的什麼都不是好嗎?
05/28 20:29, 34F

05/28 20:29, , 35F
我喜歡交付有驗證確保品質的CODE卻被你說成工人思維......
05/28 20:29, 35F

05/28 20:30, , 36F
閣下真有那麼厲害怎麼不是在GOOGLE、微軟?
05/28 20:30, 36F

05/28 20:31, , 37F
被你這麼一說一堆軟體開發、軟體測試、軟體工程的書……
05/28 20:31, 37F

05/28 20:31, , 38F
豈不是全部拿去燒一燒算了?
05/28 20:31, 38F

05/28 20:32, , 39F
乾脆就不要幹軟體工程師直接去當水泥工人是不是比較有前途?
05/28 20:32, 39F
還有 69 則推文
05/28 21:16, , 109F
公司賺錢的價值,可不在於專案經理胡亂靠一張嘴!
05/28 21:16, 109F

05/28 21:16, , 110F
結論是有能力不要去接專案的公司
05/28 21:16, 110F

05/28 21:17, , 111F
工程師會閃人有時真的不是能力不好。而是不爽所以閃人。
05/28 21:17, 111F

05/28 21:26, , 112F
我不爽閃人的次數不會比你少 :P 我現在都很忍吞不衝動
05/28 21:26, 112F

05/28 21:28, , 113F
你付我X萬元要我去擦桌也行..外面找不到這麼高薪清潔工
05/28 21:28, 113F

05/28 21:37, , 114F
你是我的主管你要我做啥我肯定都超巴結.要啥我就給你啥
05/28 21:37, 114F

05/28 21:46, , 115F
那幾個wiki我有上去看了.謝謝您提供我鄉下人這些資訊
05/28 21:46, 115F

05/28 21:46, , 116F
我比較認同這篇的想法.
05/28 21:46, 116F

05/28 22:34, , 117F
@superpai: 那快引薦我去當廢材..去脫離這個地獄
05/28 22:34, 117F

05/28 22:34, , 118F
superpai 他們公司的確是蠻威的就是了...
05/28 22:34, 118F
※ 編輯: guest2008 來自: 1.170.124.87 (05/28 22:51)

05/28 23:37, , 119F
不開玩笑 我們公司正在徵人
05/28 23:37, 119F

05/28 23:37, , 120F

05/28 23:39, , 121F
保證沒有專案。是說其實我不會寫Test就是了
05/28 23:39, 121F

05/28 23:45, , 122F
好恐怖.看到整面牆的代辦事項貼紙..地獄阿..
05/28 23:45, 122F

05/28 23:54, , 123F
那些便條紙...看來貴公司正在用Agile, 是scrum嗎?
05/28 23:54, 123F

05/28 23:56, , 124F
看完了.貴公司用的技術是jquery+ajax+用js的樣板引擎.
05/28 23:56, 124F

05/29 00:00, , 125F
是啊 有跑scrum 這樣就看出來啊XD
05/29 00:00, 125F

05/29 00:07, , 126F
用jQuery這些是方便啦..要找人是需要做真正要技術的
05/29 00:07, 126F

05/29 00:19, , 127F
繼續聊天:我其實不贊同js做"正經事".我講我親身故事.
05/29 00:19, 127F

05/29 00:20, , 128F
我還是找Ruddy老師吃飯就好...進不去這門檻...:P
05/29 00:20, 128F

05/29 00:20, , 129F
2009年我曾做一個全部ajax的網站.去年那個客戶回來找我
05/29 00:20, 129F

05/29 00:21, , 130F
to guest2008, 屌的是便利貼上是有"不做"的task
05/29 00:21, 130F

05/29 00:21, , 131F
要在增加新功能.結果我手賤把jquery的版本升級.某些JS
05/29 00:21, 131F

05/29 00:21, , 132F
而不是一堆todo的task...這才是軟體開發啊...(淚奔)
05/29 00:21, 132F

05/29 00:22, , 133F
這麼多顏色的便條紙,誰都看得出來是Agile啊...
05/29 00:22, 133F

05/29 00:22, , 134F
都升級.結果系統掛掉了..花了很多時間"免費做義工"幫忙
05/29 00:22, 134F

05/29 00:23, , 135F
把系統升級成符合新版JS的系統.
05/29 00:23, 135F

05/29 00:32, , 136F
我好奇的是jquery向下相容度不是頗高?哪裡出了問題?
05/29 00:32, 136F

05/29 00:36, , 137F
應該說補丁吧?剛開始沒那麼嚴.後來嚴謹化.功能無法運作.
05/29 00:36, 137F

05/29 00:37, , 138F
另外我還用了當年免費..現要要付費的grid 套件..
05/29 00:37, 138F

05/29 00:38, , 139F
阿,希望有詳細可看,那個函數出了問題?
05/29 00:38, 139F

05/29 00:40, , 140F
2011? 你該不會剛好升級到1.6...?
05/29 00:40, 140F

05/29 00:43, , 141F
1.4 to 1.6?
05/29 00:43, 141F

05/29 01:15, , 142F
jQuery 唯一一個升級上的大雷就是 1.6.0 那一版
05/29 01:15, 142F

05/29 01:16, , 143F
就是 prop vs attr 概念大改那一版...
05/29 01:16, 143F

05/29 08:22, , 144F
好恐怖.怎麼那麼多超過1億貝里的果實能力者在這裡?
05/29 08:22, 144F

05/29 13:25, , 145F
快回火星去吧~地球是很恐怖滴..
05/29 13:25, 145F

05/30 07:59, , 146F
不是天龍(瓏)國買不到PHP的書XDD!雖然不明白你的意思。
05/30 07:59, 146F

05/31 00:16, , 147F
@tkdmaf: 我是故意(蓄意)裝傻的..還看不出來嗎?
05/31 00:16, 147F
文章代碼(AID): #1FmmhNt8 (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 14 之 20 篇):
文章代碼(AID): #1FmmhNt8 (Soft_Job)