先弄清問題,再談技術
需求沒想明白之前,任何技術方案都只是猜測。多數重做不是因為程式碼寫錯了,而是一開始要解決的問題就沒找準。所以開頭那段琢磨往往比後面的實現更花時間,從外面看,跟發呆沒什麼區別。
關於
鳶屬鷹科。很少撲翼,多是借上升氣流盤旋,在高處看清楚了才下落。影是牠掠過地面時留下的東西——人通常先看見影子,才抬頭找到鳥。
取這個名字,一半說的是做事的方式,一半是做出來的東西本該比做它的人先被看見。
需求怎麼理解、畫面怎麼排、數據表怎麼建、伺服器怎麼配,出自同一套判斷。好處是不用開會,壞處是出了事沒人可以怪。
這些年折騰過幾個自己的項目。有的做成了,後來轉手賣掉;有的一路做到上線,最後沒能活下來,那些程式碼到現在也不太想再打開。留下來的經驗多半來自後一類。
現在同期只推進一到兩件事,手上的東西還沒到能公開的時候——不是故弄玄虛,是有幾份文件還在路上。
這樣的尺度有它明確的邊界,也換來一點別的東西:一年後要改,動手的還是當初寫下第一行程式碼的人。想賴也賴不掉。
在意的事
需求沒想明白之前,任何技術方案都只是猜測。多數重做不是因為程式碼寫錯了,而是一開始要解決的問題就沒找準。所以開頭那段琢磨往往比後面的實現更花時間,從外面看,跟發呆沒什麼區別。
數據結構和 API 先立住,畫面才有東西可以承載。反過來先照著畫面湊功能,一開始也看得過去,業務一變就只能打補丁,再變就得在補丁上打補丁。順序對了,改起來才是改,不是補。
交付不是終點,有人開始用,才是這東西真正的起點。所以寧可開頭多想一陣,也不給自己留下三個月後不敢碰的地方——經驗表明,那種地方最後都得由自己來碰。
現在把程式碼寫出來這件事本身已經不值錢了,難的是系統裡每一處都能說出為什麼是這樣。刪掉某一行會不會出事,這個問題該能直接回答,而不是靠跑一遍看看。
順手的工具
移動端以 Flutter 為主,需要貼近系統能力的部分下到 Swift 或 Kotlin 實現,不拿插件將就。後端按項目性質在 Go 和 Rust 之間選一個,不是兩個一起上——那是寫履歷時的操作。
聯絡
技術上的問題或單純想聊兩句,都行。
偶爾也接一兩個外部項目,條件是問題本身值得琢磨、時間不趕,做完之後程式碼和伺服器都歸對方。手上有想法想找個人一起做的,同樣可以聊,只是最好已經自己想過一陣。
不過多數時候手上是排滿的,回信可能慢。