PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
Stranger2005
Regular Member
 
Stranger2005的大頭照
 

加入日期: Mar 2003
文章: 96
引用:
作者=大雄=
關於程式註解這件事,
是協助其它人更能了解原始程式設計師設計理念的方法而已,
如果一個程式寫出來,
只有自已才看得懂,
或者要所謂的程設高手才看的懂,
這樣無形中就增加了後續維護的成本
(本來找一個初階的SD就可以處理,卻變成要找一個OpenSource的高手)
這是不是好程式,
就值得商確了。

另外,
本文舉的幾點,
其實在軟體工程上,
都有執行的好處,
不過他們都有一個共通點,
就是會增加SD的工作量(在台灣),
所以實務上,
實行起來是會有困難的(因為工作量增加了,但是資源沒增加),
這是台灣軟體工程的一個困境。


沒錯!正確!!

像在 Cisco 當 programmer,每個 programmer 都只是負責龐大程式中的一小部份(也許只是一個或數個 function 而已),作業前端會有 SA or PA 負責規劃流程、及定義所有 function 及 Variable 的固定名稱,而 programmer coding 也被要求一定要附上註解...

原因無它,萬一哪天某個 programmer 突然離職或是不明原因無法完成,後續接手的人才能馬上進入狀況快速銜接!

所以很多 Cisco 的 programmer 都戲稱自己只是一個隨時可被替換的螺絲釘,因為可取代性太高了!



     
      
舊 2012-11-12, 06:05 PM #21
回應時引用此文章
Stranger2005離線中  
MrHermes
*停權中*
 
MrHermes的大頭照
 

加入日期: Aug 2005
文章: 102
我們公司內部有一套軟體一直在跑, 可是一些部份非常之難用, 跟人性不太符合,
我死薦N 次後終於軟體部門的人說話了: 因為當初寫這套軟體的人離職了, 沒其它人會修改程式...

我都不知道該怎麼說我們公司了...
 
舊 2012-11-12, 06:06 PM #22
回應時引用此文章
MrHermes離線中  
result12
Advance Member
 
result12的大頭照
 

加入日期: Mar 2003
您的住址: Land of living sky
文章: 334
引用:
作者ODD2
你肯定不是做linux/opensource的?
現在看懂opensource早已是最低門檻了, 看不懂的根本做不了,
現在一堆linux產品, 手機,網通,甚至是電視機上盒...等等
這代表有很多人都看得懂, 不需要什麼程式說明文件, 難到這些人都是高手嗎? 並不是吧!
看懂opensource是最低門檻, 跟不上的很快就會被淘汰的.

作者已經講很明了, 請加強自己的程式技術吧!
以前那一套早就已經不適用了, 只會拖累好的人而已.



沒錯一堆低能還須要看什麼 javadoc
拎背看 bytecode 就行
那些低能還要做三小 knowledge base
拎背隨便瞄一下就知道 你那幾個鳥 API 怎樣用
低能還要做三小 pair programming \ code review
拎背一人抵三個用..... 拎背還不須要別人收爛尾
還有那三小 TDD, Continue Integration, Functional Test, Acceptance Test, Unite Test, Integration Test
幹....拎背自己人寫那幾百個 Modules/Classes/Methods 拎背熟晰到跟我屁眼有幾跟毛一樣...
拎背每天幾千個 commit 都沒可能給你 Breaking Test 的那啦...
還三小 self documenting ..... 拎背 function name/ method name 都用亂碼啦......
舊 2012-11-12, 06:22 PM #23
回應時引用此文章
result12離線中  
Stranger2005
Regular Member
 
Stranger2005的大頭照
 

加入日期: Mar 2003
文章: 96
引用:
作者Earstorm-2
所有文件都要有個基本的註解讓人能夠比較好閱讀, 但也不需要到像在寫幼稚園書一樣.

不過我個人經驗啦, 有時候主管只是確認有沒有什麼他/她漏掉的, 怕下屬搞小動作.

更多時候, 只是要讓你白紙黑字的證據, 有事情就推給你, 沒事情就說是他/她協助的.


唉!我還曾經遇過很糟糕的 coding,所有 function 及變數都用什麼 aaaa、bbbb、cccc、a123、b456、etc.,.....

看到時都快瘋了,問他有些變數是做什麼用的,他還想了很久,程式上捲下捲了好久才弄清楚,我也不知道該如何幫他 debug 起...



-
舊 2012-11-12, 06:23 PM #24
回應時引用此文章
Stranger2005離線中  
Stranger2005
Regular Member
 
Stranger2005的大頭照
 

加入日期: Mar 2003
文章: 96
引用:
作者result12
沒錯一堆低能還須要看什麼 javadoc
拎背看 bytecode 就行
那些低能還要做三小 knowledge base
拎背隨便瞄一下就知道 你那幾個鳥 API 怎樣用
低能還要做三小 pair programming \ code review
拎背一人抵三個用..... 拎背還不須要別人收爛尾
還有那三小 TDD, Continue Integration, Functional Test, Acceptance Test, Unite Test, Integration Test
幹....拎背自己人寫那幾百個 Modules/Classes/Methods 拎背熟晰到跟我屁眼有幾跟毛一樣...
拎背每天幾千個 commit 都沒可能給你 Breaking Test 的那啦...
還三小 self documenting ..... 拎背 function name/ method name 都用亂碼啦......


COOL!!

-
舊 2012-11-12, 06:26 PM #25
回應時引用此文章
Stranger2005離線中  
=大雄=
Basic Member
 
=大雄=的大頭照
 

加入日期: Dec 2004
文章: 22
引用:
作者ODD2
你肯定不是做linux/opensource的?
現在看懂opensource早已是最低門檻了, 看不懂的根本做不了,
現在一堆linux產品, 手機,網通,甚至是電視機上盒...等等
這代表有很多人都看得懂, 不需要什麼程式說明文件, 難到這些人都是高手嗎? 並不是吧!
看懂opensource是最低門檻, 跟不上的很快就會被淘汰的.

作者已經講很明了, 請加強自己的程式技術吧!
以前那一套早就已經不適用了, 只會拖累好的人而已.




軟體工程的原意是讓團體作戰下產出的軟體品質更好,
減少溝通造成的軟體品質落差。

寫程式的時候替一些後輩著想,
也在程式技術的範圍中。

當別人看不懂自己的程式或設計原意時,
註解能夠讓接手的人有一個設計的依據。

當然你可能接觸的人都是這方面的高手,
不用言語溝通,
光看程式碼就可以達到心靈的交流,
不用多說廢話,
就可以達成程式的功能,
但在職場實務上,
我是沒有遇到那麼貼心的同事啦
__________________
Don't Worry Be Happy!
舊 2012-11-12, 06:30 PM #27
回應時引用此文章
=大雄=離線中  
result12
Advance Member
 
result12的大頭照
 

加入日期: Mar 2003
您的住址: Land of living sky
文章: 334
引用:
作者=大雄=
軟體工程的原意是讓團體作戰下產出的軟體品質更好,
減少溝通造成的軟體品質落差。

寫程式的時候替一些後輩著想,
也在程式技術的範圍中。

當別人看不懂自己的程式或設計原意時,
註解能夠讓接手的人有一個設計的依據。

當然你可能接觸的人都是這方面的高手,
不用言語溝通,
光看程式碼就可以達到心靈的交流,
不用多說廢話,
就可以達成程式的功能,
但在職場實務上,
我是沒有遇到那麼貼心的同事啦


你不懂就是不懂啦....
有沒有聽過 Legacy System?
我們公司都不用去 maintain 也不用去 refactor 的啦
就全外包給阿叉給它重寫啦
舊 2012-11-12, 06:48 PM #28
回應時引用此文章
result12離線中  
ODD2
*停權中*
 

加入日期: Nov 2012
文章: 0
引用:
作者=大雄=
軟體工程的原意是讓團體作戰下產出的軟體品質更好,
減少溝通造成的軟體品質落差。

寫程式的時候替一些後輩著想,
也在程式技術的範圍中。

當別人看不懂自己的程式或設計原意時,
註解能夠讓接手的人有一個設計的依據。

當然你可能接觸的人都是這方面的高手,
不用言語溝通,
光看程式碼就可以達到心靈的交流,
不用多說廢話,
就可以達成程式的功能,
但在職場實務上,
我是沒有遇到那麼貼心的同事啦





你們的矛盾就是不願提昇自己的程式技術, 然後再做一堆虛功來掩蓋,
虛功做越多越沒時間去提昇自己的程式技術, 最後永遠卡死在這裡,
自己卡死就算了還要拉好的人下水, 結果下場就是所有人加班加不完, 程式技術永遠停在那裡.

舊 2012-11-12, 06:49 PM #29
回應時引用此文章
ODD2離線中  
waily
New Member
 

加入日期: Jun 2010
文章: 1
呃,個人好像都是照這些胡扯在作,結果是團隊績優於他人,工作輕鬆愉快! 尤其是系統要上線的時候,帶著兩個娘子軍留守以防程式出錯,但是一有問題回報,當場幾分鐘就解決,整個過程無聊的很。反觀那些沒有照這些章法作的人,平日加班就加不完了,上線時更是熬夜到隔天,連個程式清單都列不出來,真不知要怎麼上線?搞得所有人都快累死了。

個人所有的資源也沒比別人多,帶的娘子軍到後期還能準時上下班,由於專案很大,裡面有一堆團隊,怎麼比都是個人的團隊比較好過,而且只要來我這的軟體工程師,沒多久就能上手,表現比在其它團隊要好! 就是照這些胡扯作的,呵,這可是經過實戰出來的結果。

問題到底在那?資源不夠永遠都是第一個問題,以軟體工程師,不會作計畫,那就鐵定無法估出何時推出可執行的程式,沒有測試,那就只能在上線時作測試才知道程式會不會動。因為寫程式不是軟體工作師要用的,是給客戶用的,那些 open source 他們寫程式是「沒有什麼時間壓力的」跟一般「軟體專案」要上線有時程及費用來比,是不能比的。當有無限的時間及資源,什麼程式都寫得出來。

第二個問題是部分軟體主管的決心,他們是否真的貫徹這些章法才是真正的重點! 當初在帶團隊開發時,由於客戶也有人在開發程式,特地要我們代訓,當時就嚴格要求這些章法,而且打死不退,對方還上報,但寧可專案不作,也不會放棄這些堅持,結果是幾個月後,效果顯著出來,他們後來自己帶團隊時,就是照這些胡扯在作! 為什麼?因為有效!

至於部分能力明顯不足的軟體主管,身為軟體工程師要跟他對抗,那這些胡扯更是要作,除了提昇自己對付胡扯主管的能力之外,這些技術可是未來昇主管的管道呀

寫這篇文章的人一定不了解軟體工程到底是什麼,建議他可以去看看溫柏格的書,早在三十年前這些類似的問題,他就有對應的想法及因應之道了。

此文章於 2012-11-12 07:03 PM 被 waily 編輯.
舊 2012-11-12, 07:00 PM #30
回應時引用此文章
waily離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是08:41 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2026。