Soft_Job 板


LINE

「程式不能寫一輩子?」。 是的,程式無法寫一輩子,因為你的肝會老 在成為產出程式並賴以維生的工作者之前,我的程式開發總是很天馬行空的。 想法跳到哪,程式就寫到那。連帶著,我們 bug 也是這麼的發散。 那是一段寫程式等於寫 bug 的惡夢! 在那地獄般的回憶,能用來說嘴的只剩不眠不休連續瘋狂 coding 與 debug 的時數。 說實在的,那只是用一個浪費生命的偽成就,來掩飾一再地犯錯與無能。 會基本語法,稍懂些邏輯確實可以寫出程式。 但是不佳的設計、不良的結構、重複的 Copy & Paste。 程式碼一整份,一整份地複製,到底哪一個版本才是對的, 大概只能靠運氣了。 這一切就像在開始 coding 的同時, 今日流程被標上了反覆記號。 重複著相似的邏輯,相仿的錯誤,相同的疲勞感。 心理的壓力,隨著進逼的死線更加無法承受。 那時的我,只寫得出自己想要的東西。但無法正確地掌握客戶想要的需求。 還是學生的我,是個非常不成熟的程式設計師。 經驗幾次爆肝的接案歷程,對自己的能力感到相當的懷疑。 並且看著壇論對程式設計師生涯的討論, 也相信吃這行飯需要新鮮的肝,而寫 bug 是個常態。 但真的是這樣嗎? 不,程式可以寫一輩子,因為你將不斷地重構你的工作方法。 我想每一份需要專業的職業都有著一群持續貢獻的工作者。 對軟體開發來說,其實我們擁有許多寶藏。有些知識是無法獨自領略的。 這得感謝過去曾與我一起工作過的前輩們, 透過 Pair Programming 的手法,快速被優良典範感染。 開啟了我對 XP 相關知識的接觸。 在那段不算長的時間,啟發了我對於下列知識的興趣: 1. 統一撰碼風格 2. 重構的使用 3. 單元測試 4. 版本控制系統 統一撰碼風格不單純是符合團隊的 coding style,這是團隊總體思考模式的同步。 像是一個類別,它會有個負責主要流程的 method, 但我們不在這個 method 內有任何條件判斷 (強烈地期望)。 它的內容是直敘的 method call 序列,就像平順地交辦一些事項。 而原本在直覺的實作方式,應該出條件判斷的地方, 可能只是在其他細節中的一個 if/else。或直接在多型的結構消耗掉了。 判斷出現地越少,程式結構就簡潔許多,也減少因寫作的失誤而產出的 bug。 有時無法直接寫出較少條件式的實作,透過重構技巧學習自我整理程式碼。 而重構技術包含的項目可深可淺,淺如替換變數名稱,提取程式碼成為函式。 深如結合設計模式,調整外部無法觸及的程式結構。 程式結構變換最要緊的是前後的邏輯保持一致,要確保邏輯正確性。 單元測試就是個不可缺少的技巧。 反覆地,撰寫測試、重構、再測試、再重構。 這些小技巧其實都環環相扣支持著我們,對於面對的程式碼產生良好的改變。 而給與我們無比信心的,那就是版本控系統。 寫亂了,再拿回原先的那一份,重來一次。 這麼友善的開發環境,您說軟體人悲哀得起來嗎? 這是我想要分享的,是能以寫程式作為一輩子的工作的正反理由。 如果您總是讓自己處於險境,再強的意念都會被磨碎。 如果您試著讓自己處於友善的開發環境,就能獲得走下去的動力。 當然,您可以看作是我的樂觀宣言。 但不去經營友善的開發環境,怎麼能期待做這行一輩子呢? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.48.59
1F:推 Ting1024:感人吶.............. 04/06 01:37
2F:推 wouzfer:的確很感人... 04/06 04:02
3F:推 costbook:我學生時期的經驗是(也就是現在)... 04/06 05:36
4F:→ costbook:規格書開出去給學弟,回來的東西都不一樣 04/06 05:37
5F:→ costbook:就算結構對了,行為也不對 04/06 05:37
6F:推 andymai:推~但往往現實不一定是這樣~有時客戶連他自己要什麼都不曉 04/06 12:30
7F:→ andymai:得~好吧~先做一版來看看~再來就是永無止盡的修改~改到最後 04/06 12:31
8F:→ andymai:的架構連他老媽都不認得~能怎麼辦呢? 04/06 12:34
9F:→ andymai:要重構?可以~需求不會因為這個停下~拿你自己的私人時間來 04/06 12:36
10F:→ andymai:好不容易重構了~結果哪天要翻架構~不想罵髒話還蠻奇怪的.. 04/06 12:37
11F:→ andymai:少打~是"當下不想罵髒話"... 04/06 12:39
12F:推 leicheong:可惜是吾讓自己身處險境, 只要你不換工作, 很多時候都 04/06 13:14
13F:→ leicheong:不是自己能決定的. 04/06 13:14
14F:→ leicheong:然後version control只要不是由團隊的直屬上司以嚴法 04/06 13:16
15F:→ qrtt1:我同意這現實存在,但那是 PM 專業程度與客戶教育的議題了。 04/06 13:17
16F:→ leicheong:推行的, 只需要有一個人不按規定checkin, 就會崩壊了吧 04/06 13:17
17F:→ leicheong:你說的這些, 有很多都取決於「老鳥」們是否能把良好的 04/06 13:20
18F:→ leicheong:「傳統」延續下去. 但世代交替間一些已在其他公司染上 04/06 13:21
19F:推 ricky906:說得好!! 04/06 13:22
20F:→ leicheong:「惡習」的人把壞風氣傳入似乎無可避免. 這些人即使被 04/06 13:22
21F:→ leicheong:短時間內處理掉了, 對團隊間仍會做成壞影響的... 04/06 13:23
22F:→ qrtt1:我當然知道有這些困難,但放任下去只是無盡的惡性循環。 04/06 13:25
23F:→ qrtt1:弟之所以回文,就是希望增加良性循環的可能。 04/06 13:25
24F:→ qrtt1:由自己的觀念、行動開始微調。面對限制尋求可能才是活路。 04/06 13:31
25F:→ rofellosx:研發自動寫程式或輕鬆寫程式的程式... 04/06 14:28
26F:→ adrianc:Visual Studio ... 04/06 15:09
27F:→ juriolegend:VS的規則運算式的尋找取代功能很好用的.. 04/06 20:02
28F:推 prag222:我目前沒有時程壓力,慢慢做輕鬆做,進度就超前了 04/06 21:30







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP