工作中需要维护一个 JFinal 项目,太他妈痛苦了
这个所谓“轻、快”的框架,各种基础设施除了简陋就是简陋,从而导致了业务层代码也是各种随便就来,各种 Map 到处传,各种 record (实际上也是个 Map 的简单包装)到处传,各种全局函数到处调用,写的时候是轻松了,维护的时候,要多恶心有多恶心。
太恶心了
这框架还一堆粉丝呢
不是框架的问题,而是写代码的人的问题,并不是因为简陋,写代码就一定要乱来啊
这个框架官网主页太丑了,所以我都不愿意去细看。。。
轻+快 = 耦合
跟我一样,当初第一次接触这个框架,贼 tmd 难受,之前写的人各种炫技,搞得贼恶心。
JFinal 这种快速开发的框架,追求的就是快,一锤子买卖,不用考虑维护的
公司技术框架定位 JFinal ,就贼恐怖= =
不维护是不可能的,无论是功能迭代还是 bug 修复,都是省不了的。改的时候就看前人写不写文档了,不然遍地的 record 真想死
框架定位就是这样,提供的各种接口都是明的暗的诱导你:“直接用 record 、直接用 map 、不要什么 vo 、dto 的”,你想不乱来?实际上就是要违背框架的各种约定,反正左右难受。
这框架就是让你把 Java 当弱类型动态语言用,结果就是两边的优势都沾不上而两边的劣势都沾一身。
试试 nutz ? gitee.com/budwk/budwk
跟 PHP 的道理一样,看似简单,反而对编码人要求很高
同感,2019 年维护过一个 jfinal 项目,前一个写的人一个项目就两个 controller 文件,每个 controller 大约 6000 行左右,所有的业务都在 controller 中完成,当时直接蒙了,编译出来的 class 文件都 7M 多
这种项目一般跟框架没关系,和写代码的人有关系,我才接手了一个 springboot 的项目,同样恶心,直接在 sql 结果里拼接 html 返回,不知道之前哪个老哥的奇葩操作
很有关系。
框架本身就是自己到处用各种 map 、各种全局变量全局函数,本身就是在暗示使用者“你也应该这么做”,框架使用者很容易就不自觉的也跟着这么用了。
极速
妙不可言
zoom zoom zoom
当初有个驻场的开发找我去开发 jFinal 还好我拒绝了 不然这会儿我就在这里抓狂了
轻和快的项目本来就不该长期维护。。。。如果立项的时候就考虑到长期维护,本来就不应该用轻快的 jfinal
确实是人的问题 轻量好懂都不好好维护 用重量级肯定也好不到哪去
写一堆类并没有比较好维护 开发上容易失焦 改一个功能都要四处找影响点
然后一堆人写的烂命名烂流程
用 map 可以 只是要封装 直接用肯定会疯
我反而觉得 jfinal 就是应该是这样子, 什么叫极速开发? 能少就少,能省就省,
用框架作者的话来说就是 为您节约更多时间,去陪恋人、家人和朋友
+1 ,长期都是 PHP 爱好者。
后来接触了不少用 PHP 写代码的人之后,才了解一件事:
你以为的 PHP 和 JAVA 、C#、Go 差不多,而且轻便、高测试可用性、好维护;
多数人用的 PHP 和早期 JS 差不多……那就是一堆 x 山!大家最喜欢开发需求(造 x ),最讨厌维护项目(吃 x )
仔细想想,也是一绝!
类似的框架,是以快速出货为目标的,满足短期迭代、业务试错需求。如果验证完毕决定保留相关业务,需要逐渐重写为别的结构。
快速 demo 用 rails 或 PHP 不是更快?
第一次写的时候快,过几个月再改,省下来的时间都还回去了。除非一直只做新项目,且做完就扔不再碰。
这个跟 Jpress 是一个东西?
JPress 基于 JFinal 开发,所以........
年轻真好,如同他们不知道火箭直径为什么和马屁股一样大似的,因为并没有什么用。
我一度以为 springboot 是抄袭的 jfinal 。
14 年初开始用 jfinal 接单并选型为公司开发底座,一个类五六行代码就能跑起来一个可以和数据库交互的 web 应用,两三行代码就能实现一个 C 端的 ORM 接入,同期国内外还有谁?届时 springboot 这个词组是什么,谷歌都不知道。大约 16 年中旬开始,springboot 开始在国内爆发。好在 jfinal 打了无 xml 的 entity 映射 /框架实现 /约定配置等这些设计基础。学起来 springboot 基本上一两天就上手了。但当时的 1.x 生态也令人发指,多数情况下,依然也要引入依赖和 xml ,jfinal 却还欣欣向荣。
如这些设计。
tojson -> responsebody
url param -> restful
route controller-> request mapping
model -> mapper
etc ...
如果你拿 jfinal 和 ssh/ssm 框架比。你会觉得什么是极致。和 springboot 比,你依然会觉得清爽。
只有和 spingboot 生态比,你才会觉得简陋。
当然,现在他在被时代抛弃。
人的问题别怪语言。
Table of Contents 分享最近阅读的书藉清单(二) Calculus Made Easy How to Design Programs Teach Yourse…
部分理解了为什么安卓社区的 root 越来越闭塞了。 认识了一个做刷单外挂的。 专门卖小米 root 机装面具和外挂。 连微信都能虚假定位。 哈哈, 错怪小米了, 原来小米是在…
c++服务端初始化阶段会将某二进制文件load 到内存中,每次请求都会访问该内存数据,c++服务端有持续请求,现在该二进制文件更新了,如何将该二进制文件热更新到内存中且不影响线…