Blogtrottr
批踢踢實業坊 Tech_Job 板
 
[討論] 軟體工程
Jul 23rd 2013, 01:32, by jackylu63

作者jackylu63 (J)

看板Tech_Job

標題[討論] 軟體工程

時間Tue Jul 23 01:32:05 2013

第一次PO自己的心得, 煩請不吝指教 兩年多前,小弟開始接觸《人月神話》、《PeopleWare》之類的書後,才知道有《軟 體工程》這個名詞。後來我就對這個題目感到興趣,並且開始閱讀一些相關的資料。 對於《軟體工程》我自己有些心得 (獻醜了...) 我認為《架構》與《重構》是軟體工程裏最重要的部份 《架構才是王道》 「架構的存在目的是為了簡化管理,因為架構的本質就是在建立《分工》及《合作》 的 模式。」 架構將一個軟體系統拆開數個模組,模組與模組之間的交結處稱之為介面。 架構及介面的設計如果越能簡單明瞭,開發人員也就越容易明白自己及別人在做些什麼事 情。溝通的開發大型軟體最重要的一件事情,簡化溝通也就能簡化開發。所以軟體架構是 軟體工程最重要的一件事情,先談《架構》再來談《工程》這件事情。 《抽象是必備的技能》 抽象是以人類的思考方式來描述軟體行為。好的介面的設計必須要有好的抽象性,這樣才 能讓人快速的了解模組使用方式。老闆及員工都要有軟體抽象概念,這樣子溝通上才不會 有障礙。 《重構是必然的事》 軟體開發的首要之務在於了解《到底軟體要解決什麼問題》,接著才是《要如何解決》。 然而,軟體開發有個很有趣的現象: 「針對一個已經開發好的軟體,不會需要開發第二次,因為只要copy就會第二個產品出來 」 即使經驗再多的老鳥,對於一個新成立的軟體專案一定會有一些問題是自己事先沒有想到 的。而且這些先前沒遇過的問題,一定都是發生在專案開發開到一半時才發現。所以重構 是必然的事,說白話一點就是要改code。 一個好的架構在重構時所付出的心血相對會比較少。因為架構明瞭,所以對於架構設計的 不足之處也會很明確,這對重構會有很大幫助。 《品質第一,schedule放一邊》 即然要改code是必然的,我們來想想一個情形: 「不管三七二十一,改就對了,破壞架構也沒關係」 許多老闆的立場都是以產品是否能如期產出為主,他們會對程式員施加壓力,當程式員有 這樣子的時程壓力後,就會出現上面這樣子的反應。程式員為了交差,會想辦法在架構裏 挖洞,以達到目的。而且通常不會跟老闆說自己挖了什麼洞,因為這樣子會自找麻煩。 破壞架構就等於破壞模組間的分工合作模式,這樣子會造成潛在性的問題。像這樣子的潛 在性問題爆發的時間點越晚(專案後期),則後果就會越嚴重。因為專案的後期的程式碼 已經大到不可想像了,光是要找出問題點就會花許多時間,而為了要修正問題所更動的程 式碼就越多,動用的人力越多,時程也就越會拖越久。 在軟體開發的過程中,軟體品質一個不可妥協的原則。測試及CodeReview都是確保品質的 方法,但是更重要是老闆對品質的堅持。 《在架構之前》 不是說架構就能架構的,台灣學術界與產業界脫節嚴重,幾乎沒有人學校一畢業就能懂架 構。通常還是要在產業界實作經驗之後才會有能力。所以各個公司行號只好自己培養自己 的架構人才。 《物件導向程式設計》是架構人才最重要的一個訓練題材。不過,物件導向程式並不是C++ C#, JAVA …,用C也是可以寫出OO的程式。OO是觀念,不是程式語言。 《IC設計產業現況》 我與一些朋友討論這個議題時,最後發現在科技業裏《時程》才是最重要的事情,會這樣子 主要與《競爭型的市場》有關,如果沒辦法在有限時間內交出產品,案子很可能就不見了。 +----------------------------------------------------------+ | | | 而且越賺錢的公司就越注重schedule,接著軟體品質就不保了… | | | +----------------------------------------------------------+ 因此, 所以我上面所說的《架構》《重構》《抽象》《品質》《人才培養》 都是屁話 唉~~ 應該都不適用於IC設計產業 我自己曾經有過幾次在好的架構下開發程式的經驗,個人的經驗覺得,好的架構真的能對 整個案子開發有很大的幫助。能在一個好的架構下寫code是一件很幸福的事情。但是我與 我朋友討論這個問題時,大部份的人都認為《時程第一》。 因為《時程第一》,以致於老闆不會認為花時間訓練架構人才是重要的事情,工程師也沒 有時間好好想架構。 IC設計產業現行的做法與我的理想差異很大,對此我反而開始懷疑自己的觀念是否有錯? 請教各位大大, 您的想法為何? B.R. J -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.169.129.50 jackylu63:轉錄至看板 Soft_Job 07/23 01:35

Santander:真是契合 22k+1k聘請您來敝司擔任軟體助理工程師一職, 07/23 01:40

Santander:請速來信討論報到日期,感恩。 07/23 01:40

goldduck:特克尼遜這個職位可以嗎 07/23 01:42

※ 編輯: jackylu63 來自: 1.169.129.50 (07/23 01:47) 感謝兩位大大 ※ 編輯: jackylu63 來自: 1.169.129.50 (07/23 01:48)

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 xals2q 的頭像
    xals2q

    2015花千骨線上看tv 2016花千骨 花千骨線上看drama q 花千骨線上看drama 仙俠奇緣之花千骨線上看 花千骨線上看tv543 電視劇花千骨線上看 花千骨線上看第一集

    xals2q 發表在 痞客邦 留言(0) 人氣()