一晃发现自己已经参加工作一年了,工作确认很有意思,最近两年的新东西层出不穷,就和当年刚上学一样...
从高中毕业的时候,拿着一点 noip 给予的 pascal 经验,一开始还是很顺畅的学习 C 语言,直到遇到了指针。
做的第一个系统就是 XX 管理系统,当时要求是用链表实现数据的存储,一个非常的经典的问题立马困扰了全班同学——烫烫烫,我跑去求助于实验室的学长,学长很耐心的讲完,我觉得我也听懂了,但是就是改不好,最后学长看不下去了,改了循环的终点,over
后来跟着学长参加 ACM ,还能混个奖,不知道学长现在怎么样了。
其实到这,已经说明我是个大菜鸡了。。。
一直混到毕业,才开始接触工程代码。
第一家公司写的代码简直惨不忍睹,前后端深度耦合,鉴权稀烂,代码不精简,结构非常混乱,能运行说明真的是苍天有眼
跳槽到现在这家公司之后,才跟着前辈开始学习写代码。
幸运的是,正好公司发展之中,我入职的时候业务代码也是各种耦合,用户量上去之后,发现越来越难维护,就开始拆分,这个时候我也就负责我第一个项目——后台管理系统
我和大家讨论的结果是:先随便做,内部人用,要的就是快速上线,满足需求
然后我的代码基本就是
代码语言:javascript复制route/file/file.js
// 逻辑
res.render('../views/file', data)
所有的逻辑全部放在路由里,页面由服务端渲染,不过因为是不需要太多交互,而且这个项目也没配前端,都是后端在写,大家都是很开心的快速开发,疯狂挖坑。现在再看这些代码,估计下一个要被拆分的就是它了。
经过一段时间的做需求之后,内部逐渐平稳下来,这个时候又一个老项目需要接手,但我拿过代码一看,惊呆了,连 .git 都没有,直接扔在服务器上跑的,虽然需求很简单,路由都只有一个,不过说真的,整个项目的代码就一个 lib/ 和 一个 app.js
代码语言:javascript复制// app.js
const http = require('http')
const server = http.createServer(app)
app.post('/', (req, res) => {
// 所有的逻辑都在 lib 里
})
直到最近,开始负责一个微服务,我开始认真考虑如何让代码层次更好看。公司最近经历了一次用户量的质变,很多以前的服务都变得不稳定,很多代码都有性能的上隐患,我们一点点的筛,并且开始做更多的微服务,同时也开始考虑如何确定一个层次清晰的微服务开发规则。
可以发现从 express 到 koa ,代码层次并没有很好的确定下来,太过自由,对于我这样的菜鸟来说其实并不友好,代码层次的考虑当开始重构的时候,才真让人头大。
这次新的微服务使用 paloma
代码层次
代码语言:javascript复制app -----
|
|--controllers
|
|--services
|
|--routes
server.js
并且按照 RESTful 的标准开发
说真的,有一个标准在,开发起来坑能少很多
但愿能早日毕业,233333
吐槽文,记录一下