[闲聊] CURD开发时间推估

楼主: howardgj94 (飘飘渺渺所为谁)   2019-07-12 12:24:29
大家好,
本人算算,毕业后踏入职场也迈入第二年了,
回想大学专题做影音系统,负责后台资料处理(HADOOP)的部份,
研究所做资料科学的研究,
进入职场后,从资料科学转做系统开发。
因为在财团法人,只要系统出的来,对于开发环境有很大的自由度,
所以每次开发时,都会想办法去接触新的框架跟软工架构。
(财团法人的缺点,只要看成果,但希望在当兵这三年,可以把这缺点化成优势,
于是在这一年多来,只要接臅新的案子,就想多学一点不同架构)
这一年来,陆续碰过原生的php开发、cordova、
学写phpunit测试、laravel MVC架构、
vue与laravel的集成架构、java spring MVC架构、junit测试、
react + redux + react-route前端架构等。
因为研究所boss是软工专常的关系,我踏入职场后,对软件架构的要求比较高,
例如开发时尽量遵守TDD开发原则、repository模式将数据库逻辑分开、数据库使用
orm 或 entity framework,而不直接操作sql语句、又或者是前端使用redux模式
将action 跟 view尽量抽离等。
老实说,这些东西以我目前看到,至少在唉唉唉里面,是不太重视这些东西的。
最近在开发新的案子,数据库架构设计完,开始投入app撰写。写了一阵子,被一个
同事说,“觉得你开发速度太慢了,这东西我xx(时间)就开发完了,不须要这么久。
于是我根据git记录开始追溯我的开发时间,
发现以普通不太过复杂的数据库crud撰写来看,
从unit test撰写、repository设计、mvc test撰写,controller设计、
到前端画面设计、串连api,debug,这整个动作做完
平均大概要花费一到两个工作天。
以成效来看,似乎真的不是很有效率。
当然这次使用redux react跟java spring都算新东西,要算学习成本进去,
但以我git纪录来看,一个crud前后台完成,大约就是一到两个工作天。
好奇大家在开发crud时,大概会花多久时间呢?
现在有自动生成crud的工具,但似乎弹性不够大,也不够好用,所以我没接触。
如果能把crud时间缩短,整个开发时程可以缩很多。
另外,tdd drive的开发模式,在目前台湾软件业界流行吗,财团法人有点太学校了,感
觉接触的不一定是业界目前的流行。如果可以的话,未来希望自己还能碰一些CI/CD的工
具。
另外题外话,tdd drive的好处是,你必须在写程式前就先把架构想好,而且为了做到
unit test,程式必须解耦合,也就是说,如果测试写的好,基本上设计出来的程式会非
常的符合SOLID原则,当然这是最理想的状况。
刚开始摸redux时,并没有想到给前台也写测试,当时看到redux官方给的todo范例时就非
常不解,为什么要把画面分成component跟container。后来开始思考如何写测试时才发现
,分开画面跟动作的原因,是为了能够撰写unit test,另外这样写才能让前端的action
跟view能够真正的分离。
不过目前我的前端是还没有撰写test,前端对我来说,光要把画面调好、设计画面就花
太多功了,现在如果还要加上test的话,估计crud就要花两个工作天或以上了.

Links booklink

Contact Us: admin [ a t ] ucptt.com