Closed timzaak closed 4 years ago
这两天看了下别人基于 spring dubbo 写的业务代码。 就只有一个感觉,离开了annotation,是不是代码就不会写了? 整个 java 业务开发体系,感觉陷入了通过annotation设定数据结构,然后通过反射去解析数据结构的写方式中去。另外还有就是过度的模式设计,很简单的东西,各种设计模式都得用上。interface 接口也是必备。为了找一点逻辑代码,我花了超一小时的时间。类型强制转换、类型丢失也到处都是。还有就是 try catch,只要有一个函数用了try catch,调用这个函数的都要用各种 try catch...
越发觉得 Scala is so good!
以前是反对 xml, 下一波会不会反对 annotation?
目前对我来说,后端的快速开发就是要理解好业务模型。再在此基础上抽象模型,这样就能少很多次重构,速度自然快起来。
graphqlcool 已经演变为 Prisma, 专注 TypeScript/Go graphql ORM. 貌似数据库到业务逻辑、再到客户端API的映射,是一个 np 问题,具体领域, 具体分析。无法用框架来解决80%的问题。
可能更需要, ORM 一层数据源的管理 + API接口说明构造框架+ 常规代码自动生成。
目前在为快速开发做的是:公共代码尽量提取,提取不了的走代码生成。 代码生成要尽量允许二次更改,不能呢每次生成都直接覆盖老的。
如果从软件整个周期开发来看的话。需要有以下几个阶段:
这个最为重要,很多产品中只有20%的功能是核心功能,若能定位出核心功能,排出合理的功能列表。就能节约大量的时间和开发成本。至于如何做, TODO: PS: 最核心最重要的事情,莫过于需求定位。
通过绘制原型图,梳理出完整的功能点,可减少代码重构次数与沟通成本。 脑图可以作为预先工具,进行字段业务梳理。流程图用以检查脑图是否合理。
原型PRD有个核心问题:如何到位的同步信息给相关人,开会、自行确认等都是可行有效但不能彻底的手段。
可预先模拟出用户体验,获得交互体验。是时候就可以甩给核心用户、决策层对产品进行初步的评估。
上传下达,另外查漏补缺,确认工期。一般通过开会来解决,但最好能讲UI稿、原型甩出来,小规模负责人技术评审会,再团队会。
验证交付内容是否正确,产出物是否符合预期。对于大多数项目而言,测试的介入时间,才是产品走向可用的开始。从PRD、UI还原、法务稿件、代码逻辑都需要经历一遍彻底洗礼,大团队才能在细节点上达成共识。
从 人 来讲,需要解决的是:
最近有可能会接手一大堆项目的维护和开发,或者自己从头开始重做一遍。虽然倾向于后者,但是时间维度上,不知道是否能允许。 不管如何,我还是需要准备下如何快速开发项目。
谈到快速开发,我能立马想到的最快的也可能是最成熟的就是
ruby on rails
, ror 在 scala 中的模仿者,应该是skinny framework
。所以我快速浏览了一遍开发文档。发现和我本项目auth
子项目相比,除了多了一套手脚架,能节省不少时间外,其它并没有如何。另外我可能不太喜欢在 companion object Model 中注入过多的东西。我还比较喜欢在数据库中存储 json 数据结构。估计这又会是一个坑。后来又考察了下
meteor
, 它主要基于 minimongo,和 mongo 绑定的死死的。适合严谨性要求不那么高的。这又是个大问题。又搜了下 graphqlcool,看 issue,还有不少问题。官方文档看的特别爽,几下就能搞定事情了,但越发感觉不踏实。毕竟涉及 scala nodejs 两个平台的融合,还有复杂数据结构的问题! 以及后面微服务的问题。太多我不能掌控的东西了。
难道现在的开发框架没问题,剩下的是开发流程的锅?这个需要再看看吧