強者不需要註解 - 履歷

Robert avatar
By Robert
at 2016-07-21T22:09

Table of Contents

※ [本文轉錄自 Soft_Job 看板 #1NaDPESF ]

作者: ggg12345 (ggg) 看板: Soft_Job
標題: Re: [請益] 強者不需要註解
時間: Thu Jul 21 22:03:55 2016

: ※ [本文轉錄自 Tech_Job 看板 #1NZjKqjl ]
:
: 作者: randomly (倫敦鐵橋垮下來) 看板: Tech_Job
: 標題: [請益] 強者不需要註解
: 時間: Wed Jul 20 09:34:41 2016
:
: 大家早,
: 我轉發了各位在上篇討論的結果給我剛退伍的同學,
: 小弟先代他謝謝各位的回覆,
: 但是...
:
: 這件事情居然有後續,我也先建議他趕快開履歷重找工作了
: 他手上那份source code其實
: 「完全沒有註解」
: 而且聽說也是架構不明,各種奇怪的coding方式跟變數命名
: 還有很多跟實際功能搭不上的function名稱
:
: 奇怪的coding舉例:
: int functionX(int data, int Size, int Length)
: {
: ...
: functionY(data,Length,Size)
:
: }
:
: int functionY(int data, int Size, int Length)
: {
: ....
: }
:
: 我光看這段就覺得無言了
: code真的很亂的感覺
:
: 他說他有問主管為什麼code沒註解也沒有文件
: 主管說:「強者不需要註解」
:
: --
: → kenjy: 還看過 fun_x(a,b,c) { ...; fun_x(a,b,c); ...;} 07/20 22:12
: 推 jasonwu23: 我猜functionY裡是要 { ...; return functionX(...);} 07/20 22:32
: → jasonwu23: 也許是額外的需求, 但改動量太低, 這樣改最快. 07/20 22:33
: → jasonwu23: 像是Windows API 中一大堆 CreateXYZ, CreateXYZ 這樣? 07/20 22:34
: → jasonwu23: 最難的是讀懂,接著幹.次一級是整段打掉重寫,Debug到順. 07/20 22:36
: → jasonwu23: 再差一級是看不懂,亂罵一通,推給別人,別人還是得接著幹 07/20 22:37
: 推 jasonwu23: 一直都會有人拿一份舊code給我, 叫我加個什麼功能. 07/20 22:51
: → jasonwu23: 沒有一個是好讀懂的,能不做嗎?先build通再想辦法debug 07/20 22:52
: → jasonwu23: 看懂原作者的想法,再加新的需求上去不影響原來功能. 07/20 22:52
: → jasonwu23: 大家不都是這樣的嗎.看不滿意順手幫你經過的地方加註解 07/20 22:53
: → jasonwu23: 不就好了嗎, 這樣以後的人至少經過這邊就看的懂了. 07/20 22:54
: → Vitaceae: 然後勞心勞力幫人擦屁股還沒有績效 07/20 23:08
: 推 jasonwu23: 當然會有,你功力進步,同事也看在眼裡,別只是想著功利 07/20 23:22
=====================================================================
這裡有一位有經驗的高手 jasonwu23, 說出了程式被維護成這樣子的原因.

沒有有意義命名的變數名稱, 沒有註解說明, 程式還是能被看得懂, 甚至修改
到加入額外的功能. 這在早期(大約就是30年前)的台灣就是這樣的環境. 把程
式的機器碼透過反組譯幾乎就是這樣子, 反組譯若不再經過人工判讀compiler
的轉譯規則是不會自動產生 symbolic function module 的.

原代post 舉的例 就是 functionX 有段幾乎同樣帶入相同參數名稱, 但很類似
結果名稱的 functionY. 是否像 jasonwu23 大大的說明, 需要再貼完整的
functionY.

假設 funtionX 是處理 data 獲得結果帶回去的主要模組, 再假設在某些情況下
這模組是正確的(譬如英文字串), 現在資料使用的狀況變了(譬如要對中文字串
也能有類似處理), 必須做功能擴充. 負責更新維護的就只要把新功能(如中文)
加進負責處理的這塊模組就好. 所以, 只要找到該功能的 functionX, 再針對需
要變更處理的對象(如中文)補進處理方式的 functionY 就好. 但帶進來的參數是
一樣的, 最後的結果再經 functionX 名稱帶回結果.

我猜 這是 jasonwu23 大大想表達的 維持原功能又只做到擴充新功能的 最簡潔
辦法.

只要找到那個關鍵的模組, 以類似原來的方法把新功能以不動舊模組的方案補進
去, 即使在萬行程式碼的千軍萬馬中, 如入無敵的直取敵軍將帥首級.

舉例未必正確, 有請 jasonwu23 大大補充.

--
Tags: 履歷

All Comments

Rachel avatar
By Rachel
at 2016-07-25T19:20
拿三十年前的觀念套用到現在的系統 這樣會進步嗎?
Cara avatar
By Cara
at 2016-07-30T17:45
這個就是肺紋王 soft_job和tech_job文章兩邊一直轉
Daniel avatar
By Daniel
at 2016-08-01T05:20
我不是說你是垃圾 下面那一句自己接
Regina avatar
By Regina
at 2016-08-04T06:04
可憐J大被這種人引用文章
Ina avatar
By Ina
at 2016-08-05T12:58
都ㄐ歲的人了還在工作版喜文章
Christine avatar
By Christine
at 2016-08-06T00:23
你還是說人話吧
Mary avatar
By Mary
at 2016-08-09T09:24
ㄅ用ㄎㄑ 現在閒閒 邊coding邊幫你推到x1
Heather avatar
By Heather
at 2016-08-13T12:04
這種人就是職場被淘汰 只能上ptt討拍
Doris avatar
By Doris
at 2016-08-14T00:33
所以你薪水增加了嗎? 真是無聊

研究助理經歷有利於求職嗎?

George avatar
By George
at 2016-07-21T20:02
※ 引述《homeshawn ()》之銘言: : 各位前輩們好 andlt;( _ _ )andgt; : 小弟是一個目前在實驗室學疫苗生產的研究助理, : 年齡31, : 因一些因素的考量有意要 ...

台南三星科技

Zanna avatar
By Zanna
at 2016-07-21T19:46
想詢問版裡有在台南三星科技工作的op 請問這公司的工作環境如何 有爬過文聽說薪資福利不錯 小弟九月退伍 在打算退伍後第一份工作想趁年輕 多加 ...

徵求科學專任講師(無相關經驗可)

Poppy avatar
By Poppy
at 2016-07-21T11:45
【公司名稱】圓創科學教育有限公司 【工作職缺】科學專任講師 【工作內容】1.學期間進入國小進行教學工作。 2.寒、暑假在各國小科學營�� ...

Re: [心得}澳洲打工度假二年回來後找工作好難

Elma avatar
By Elma
at 2016-07-21T11:39
這不你去之前就會知道的情況嗎? 台灣科技業的工作強度高,工作品質低,生活品質低 去澳洲工作,只能說各種爽 本來就知道會發生的事,其實也沒什麼好 ...

研究助理經歷有利於求職嗎?

Faithe avatar
By Faithe
at 2016-07-21T10:15
※ 引述《homeshawn ()》之銘言: : 各位前輩們好 andlt;( _ _ )andgt; : 小弟是一個目前在實驗室學疫苗生產的研究助理, : 年齡31, : 因一些因素的考量有意要 ...