工作中需要维护一个 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 生态比,你才会觉得简陋。
当然,现在他在被时代抛弃。
人的问题别怪语言。
国内的一些讨论: [外键应不应该建立] - V2EX 大家在建表的时候都使用外键吗? - V2EX 国外的一些讨论: database - What's wrong wi…
go 语言写的东西,要访问 xxx.com,后面发现 xxx.com 被墙了,于是尝试 proxychains go run main.go,但是还是不能访问 xxx.com,…
在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web…