去年在前公司玩了一年(基本兩三個月一個需求),除了日常維護就一些特別簡單的功能開發,到年底也沒見到公司黃(國企背景),沒辦法只好裸辭,現在這個公司各方面还不错,但是令我不得不吐槽是10年開發人員,技術真的是令人吃驚,先看看他的項目接口
项目结构
运行效果
1、這個接口項目的架構 是三層架構(10年前的技术啊),數據庫鏈接方式還是傳統的ADO.NET操作数据库 ,不必我多说,大学都不教这些
2、代码逻辑错误,十年开发,能力也不怎么样啊,实习生都不会犯这样的错误:
这里首先他给自己埋了一个雷,他的循环里并没有对每一条数据进行判断,比如10条数据,7条成功,3条没有成功(第4,6,9条数据失败)程序依然会返回成功。foreach 循环处理失败的数据。
我们继续看看他的SaveJobHead究竟是什么鬼玩意。
看到这里的逻辑,我如果要更新或新增一条数据,他的写法是先去查这条数据有没有,然后再更新或者添加;
与数据库交互是:往数据操作一条数据,要和数据库做两次交互
就算不用orm框架,自己全手写数据库操作,也说得过去(自己愿意嘛),那为啥要两个一模一样的逻辑方发,Merge into函数为啥不用
我们继续往下看GetProcessFlow 接口
前面取json 参数我不想多说啥了,垃圾啊,8行代码序列化两遍取4个参数,这代码质量真的令人震惊
GetProcessFlowByProductOFN
GetProcessFlowByProductAOC
从这两个方法有点名看,应该是同一种逻辑,有点像类型不一样,看看下面的分析
从上面我100%确定这个同事绝对没有10年软件开发经验,懂得都懂。