一晃發現本身已經參加工做一年了,工做確認頗有意思,最近兩年的新東西層出不窮,就和當年剛上學同樣...javascript
從高中畢業的時候,拿着一點 noip 給予的 pascal 經驗,一開始仍是很順暢的學習 C 語言,直到遇到了指針。前端
作的第一個系統就是 XX 管理系統,當時要求是用鏈表實現數據的存儲,一個很是的經典的問題立馬困擾了全班同窗——燙燙燙,我跑去求助於實驗室的學長,學長很耐心的講完,我以爲我也聽懂了,可是就是改很差,最後學長看不下去了,改了循環的終點,overjava
後來跟着學長參加 ACM ,還能混個獎,不知道學長如今怎麼樣了。git
其實到這,已經說明我是個大菜雞了。。。github
一直混到畢業,纔開始接觸工程代碼。express
第一家公司寫的代碼簡直慘不忍睹,先後端深度耦合,鑑權稀爛,代碼不精簡,結構很是混亂,能運行說明真的是蒼天有眼後端
跳槽到如今這家公司以後,纔跟着前輩開始學習寫代碼。bash
幸運的是,正好公司發展之中,我入職的時候業務代碼也是各類耦合,用戶量上去以後,發現愈來愈難維護,就開始拆分,這個時候我也就負責我第一個項目——後臺管理系統服務器
我和你們討論的結果是:先隨便作,內部人用,要的就是快速上線,知足需求app
而後個人代碼基本就是
route/file/file.js
// 邏輯
res.render('../views/file', data)
複製代碼
全部的邏輯所有放在路由裏,頁面由服務端渲染,不過由於是不須要太多交互,並且這個項目也沒配前端,都是後端在寫,你們都是很開心的快速開發,瘋狂挖坑。如今再看這些代碼,估計下一個要被拆分的就是它了。
通過一段時間的作需求以後,內部逐漸平穩下來,這個時候又一個老項目須要接手,但我拿過代碼一看,驚呆了,連 .git 都沒有,直接扔在服務器上跑的,雖然需求很簡單,路由都只有一個,不過說真的,整個項目的代碼就一個 lib/ 和 一個 app.js
// app.js
const http = require('http')
const server = http.createServer(app)
app.post('/', (req, res) => {
// 全部的邏輯都在 lib 裏
})
複製代碼
直到最近,開始負責一個微服務,我開始認真考慮如何讓代碼層次更好看。公司最近經歷了一次用戶量的質變,不少之前的服務都變得不穩定,不少代碼都有性能的上隱患,咱們一點點的篩,而且開始作更多的微服務,同時也開始考慮如何肯定一個層次清晰的微服務開發規則。
能夠發現從 express 到 koa ,代碼層次並無很好的肯定下來,太過自由,對於我這樣的菜鳥來講其實並不友好,代碼層次的考慮當開始重構的時候,才真讓人頭大。
此次新的微服務使用 paloma
代碼層次
app -----
|
|--controllers
|
|--services
|
|--routes
server.js
複製代碼
而且按照 RESTful 的標準開發
說真的,有一個標準在,開發起來坑能少不少
希望能早日畢業,233333
吐槽文,記錄一下