iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
1

https://ithelp.ithome.com.tw/upload/images/20200902/20111458mDjeNbISPl.jpg
這是一個我一直想展開的系列。
我從高中就開始寫程式,到現在也己經超過20年了,雖然我寫過大大小小不同種類超過十種的程式語言,但我最後都回到我高中時給自己的挑戰:一個方法,在32行內,每行80個字元。
出了社會,進入職場,看過很精妙的程式,也看過很荒唐的程式,但無論是那一種,絕大多數都逃不出一個原則:

它們都是用英文寫的

沒錯,英文不是台灣人的母語,但別忘了程式語言發展是用人類的語言寫出讓機器也懂的語言。雖然現在確實可以在各種程式語言中加入自己熟悉的語言甚至是emoji,但本質上還是以英文為主。

更何況,網路讓這個世界連結更緊密,github, stackoverflow, codeprojects, reddit, twitter, facebook...這些社群或者網站讓全世界的工程師或設計師們有更多管道溝通,跨國工作或海外工作門檻也愈來愈低了,pair programming, code review, pull request己經漸漸成為常態,寫程式己經不再是可以射後不理的工作了,每個check in或push都會在github上留下記錄讓後世子孫圍觀,就算沒進到北極圈,未來的工程師也會拜讀大作,這種影響自己聲譽的事情怎能不慎?

說得太遠了,這個系列我不會說架構,我不會說重構(可能會說一點點),我不會說工具的使用,也不會帶大家解題,就從最基本的寫程式本身開始說起,一個大家都在做,但怎麼才能做得更好?我會用英文的八大詞類,還有時態和語態做為引子,慢慢帶出一些主題出來,包含命名原則,程式的開發,還有一些我的個人意見。

雖說如此,還是有三點原則:

  1. 無論我這一個月說了什麼,對各位來說都是參考用,最高指導原則請參考貴公司主管或Team Lead跟你說的,如果有任何地方相衝突:這很正常。每個生態系都有各自不同的做法,有的很鬆散有的很嚴格,如果沒有Guide line不妨參考看看,如果有,當自助餐吃吃也可以。
  2. 我的背景主要是後端為主,主要是Microsoft Ecosystem,部份觀念和想法可能跟全世界的程式語言都相違背,例如"這裡應該是camelcase啊!怎麼會是Pascal"或者"Table name就是要用-連起來!"
    我常時也是這樣跟我的Team Lead說,然後就被關到小房間吵架了。
    你如果覺得我說的沒道理,歡迎自己開一個鐵人賽系列。
  3. 正因為上面兩點,我可能無法解釋太多大哉問的問題(例如專案應該怎麼命名),我也常在不同的語言中挑選適合的時態、語態、詞性、單複數、擺放的位置、考慮說明的方法清不清楚,會不會語焉不詳...正如同Clean code這本書對我的影響,如果這個系列刺激了你一些對軟體開發的想法:那表示我的方法應該沒錯,請在生活中開始嚐試,不要讓Yes but限制了你可能發生的轉變。
    https://ithelp.ithome.com.tw/upload/images/20200902/201114589REcQSqoVk.jpg

最後,請大家找出一本字典吧!
https://ithelp.ithome.com.tw/upload/images/20200902/20111458EFgqdrx4Wq.jpg


後記:我原本有一個30天的大綱,但被我搞丟了!所以可能中間會有很多串插的東西,或很沒有規劃的文章,請大家見諒。


下一篇
Day 2 -[名詞一]歷史回顧
系列文
邁向專業軟體工程師必修的英文課30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言