本篇文章是 💸還技術債的藝術 I 的續集,沒看過的觀眾建議先連過去看看。 漫無目的從 Code base 找技術債並不是個聰明的作法,雖然這麼做你一定能馬上找到數十個技術債的嫌疑犯,但很可能他們都是清白的,就像是在路上隨機抓人就懷疑他犯法一樣,我不會說這個方法完全無效,只是它相對會花上更多時間。 怎麼做才是有效率的呢? 這個時機很簡單,你開發新功能的時候。 當你開發新功能時多多少少會接觸到原有的程 […]…
你是否也有接手過別人程式碼的經驗? 無論是加入新的專案或是工作環境,我們都有很大的機會承接這些遺產。作為一個新進成員,在閱讀舊有程式碼時難免會有許多疑問。 為什麼這裡會這樣寫? 為什麼這裡會需要這樣的 Workaround? 為什麼這裡要這樣設計? 為什麼會寫的這麼差? 『全部重寫好了?!』 難免會這樣想。 為什麼會有技術債? 請先等一等,思考為什麼這些技術債存在?也許是下列幾種原因: ̵ […]…
大致上就是放在一起接著幫顏色們取個好記的名字。 舉例來說 black95 是指黑色加上透明度 95% DEMO…
錯誤是很抽象的字,廣義來說所有不在預期內的結果都算是某種”錯誤”。 接下來會分兩三篇文章來分享最近所學到跟錯誤處理相關的議題,話不多說我們開始吧💪 斷言(Assertion) 是一種條件式檢查語法,當現行狀態不合乎條件時會強迫終止程式。 斷言只用在標示一些邏輯上不可能或不應該出現的情形,若上述情形真的出現時,表示有些基本架構已出現問題。 — wiki 斷言 為什麼會需要斷言 當程式碼執 […]…
內容來自 SwiftBySundell 的廣播節目第20期 這次的特別來賓是 Radek Pietruszewski software writer at Nozbe and creator of SwiftyUserDefaults 他說自己是 software writer 而不是什麼厲害的架構是,因為他不認為自己真的弄了什麼厲害的架構,而只是認為自己寫的程式碼是讓人讀的,所以稱自己為 wri […]…
即便是蘋果也犯過低其錯誤 Anatomy of a “goto fail” – Apple’s SSL bug explained, plus an unofficial patch for OS X! hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length = SSL_SHA1_DIGE […]…
不可測試的程式碼就像是沒打掃的房間,可能玩具散落一地,又或是不穿的衣服堆得亂七八糟。 想像你的每一個類別(Class)就是房間,可能有的很小容易打掃,有的很大不容易保持乾淨。隨著你的產品(Project)房子愈來愈大,房間愈來愈多,要整理乾淨就愈難。很多人甚至就不打掃放任專案慢慢發臭,輕微一點導致 bug 開趴,嚴重一點則導致開發新功能困難舉步維艱。 今天讓我們來看看一個例子 HBBeePoint […]…
在 Terminal 輸入 defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES 重開 Xcode 之後就會顯示 Build time Reference http://tonyarnold.com/2016/04/20/xcode-build-duration.html…
雖然 KKTOWN 最終落幕了,但從中學到很多經驗是珍貴的,如果不記下來不是太可惜了嗎? KKTOWN 第一個物流系統商是全家,在系統順利銜接後,我們向全家提出一些行銷的想法,當使用者用 KKTOWN 到全家寄貨,全家會送一杯免費咖啡給他。 怎麼送? 我們 PM 設計整個流程與完整功能,預告接下來的一個月以這個行銷活動為主,連 Wireframe 都畫好了。 我問說:『這樣的功能我們會用到幾次? […]…