This content originally appeared on DEV Community and was authored by 钟智强
我是个写代码有洁癖的人
作为一名长期从事软件工程与架构设计的开发者,我主要涉猎:
- 后端语言:Golang、Java(Spring Boot)、C++、Python
- 前端 / 客户端开发:Next.js、Vue、Flutter、Android 原生(Java/Kotlin)、iOS SwiftUI
在过去数年的项目开发中,我习惯于从系统架构层面出发,先理清数据流、业务边界、模块划分,再开始编码。
我始终坚信:代码不是写出来“能跑”就够了,而是要“经得起阅读、维护、迭代”。
代码要干净,架构要合理,安全性、稳定性与性能缺一不可。
但遗憾的是,在我与多家马来西亚本地软件公司合作的过程中,这些最基本的工程理念,经常被无情践踏,甚至被当作“累赘”对待。
问题一:对代码质量和系统设计毫无敬畏之心
在马来西亚,很多中小型软件公司普遍存在一种奇怪的开发心态:
“只要客户不投诉,交付能上线,代码再乱也没关系。”
他们认为编码风格、架构规范、安全防护,都是“锦上添花”的“奢侈品”,而不是“必须品”。
但从一个架构师的角度出发,我看到的却是:
- 系统极度耦合、不可维护
- 安全漏洞触目惊心
- UI/UX 设计极其草率
- 代码层面充满重复、拼凑、无测试的“代码垃圾”
案例实录:我真的遇到过这些离谱到离谱的项目
公司 A:在 Flutter 中用 for
循环暴力构建 UI
这家公司在开发 Flutter 项目时,明明是异步数据渲染的场景,居然用 for()
循环硬刷 widget 列表,而不是 StreamBuilder
或 FutureBuilder
。
结果造成页面卡顿、状态错乱、异常频发。
更离谱的是,开发者居然说:
“这样比较快写完,而且能跑啊。”
这是快速交付吗?不,这是对框架机制的践踏。
公司 B:不用 Git,代码靠“打印”备份
这家公司到现在还在靠“打印源码纸质档案”做版本控制。每个月月底,把项目代码全部打印下来,装进文件夹归档。
没有 Git,没有 commit log,没有代码 diff、pull request,全靠纸质比对。
我问:“那多人协作开发怎么办?”
答曰:“我们彼此不动对方代码。”
🤦♀️ 我无语到失语,21 世纪了,软件开发靠打印来备份?这是开发还是玩穿越剧?
公司 C:一个 main.dart
塞 9000 行代码,自称 MVC
这个项目让我窒息:
- 所有页面和逻辑集中写在一个文件:
main.dart
- 文件长达 9000 多行,包含十几个 class 和若干
void main()
函数 - 所有 UI 控件都用
Container
伪装 AppBar、FAB、BottomNavBar - 每个组件都嵌套一个新的
MaterialApp
开发者说他们有在使用“MVC 架构”,
但所谓的 MVC,就是把所有 Model、View、Controller 全部堆在 main.dart
里。
你这不是 MVC,这是MCU(Marvel Cinematic Universe)宇宙坍缩。
公司 E:React Native 项目硬编码管理员账号密码
一个 React Native 项目,管理员账号密码直接硬编码在代码里:
const adminUsername = "admin";
const adminPassword = "123456";
然后这家公司还拒绝引入 .env
或加密方案,理由是:
“麻烦,没时间搞。”
你上线的是一个拥有后台权限的应用诶,不是你家门口的电灯开关。
这种行为说难听点就是:主动裸奔,还怪天气太热。
公司 D:Spring Boot 项目全 GET 接口 + 明文密码
这家 Java 后端项目更是让我大开眼界:
- 所有接口都用 GET 请求(包括用户创建、修改、删除)
- 没有使用 ORM,全靠拼接 SQL
- 没有使用 OOP,全程 procedural
- 密码字段以明文存储在 MySQL 中,无加密、无 Hash、无 Salt
他们甚至说这“更方便调试和查询”。
但你知道这代表什么吗?
只要一个 SQL 注入,整个数据库就可以被直接 dump。更别提GDPR、PDPA、安全合规这一类根本不在他们的词典里。
借口一大堆,但都是逃避责任的幌子
在我指出问题后,常常收到的回应是:
- “我们以前写 Delphi 的”
- “我是从 C# 转过来的”
- “语言不同,写法也不同”
- “客户看不到代码,能跑就行”
我只想说:
我也写过 COBOL 给银行做核心系统,也写过用 Erlang 实现的电信 SIP 调度项目。
但换语言就该换思维,别拿“过往经验”当挡箭牌,写垃圾代码不配叫“兼容思维”。
真实案例:马来西亚官方 Flutter 项目发生用户数据泄露
我曾向某马来西亚交通部相关 Flutter 项目的团队报告严重的用户信息泄露漏洞(泄露包括身份证号码、用户实名、注册地址等全套数据),
我还完整撰写了报告并发布于我个人漏洞档案页:
🔗 Bug Bounty 案例分析 - 2025年3月24日
直到今天,无回应,无修复,无公告。
这样的官方项目都如此对待数据隐私,让我深感寒心。
技术人的底线,不能靠“差不多”撑着
我不是在否定整个马来西亚软件行业,的确也有认真负责的团队,但在我所接触的百余家公司里:
至少 70% 存在严重的技术不规范与安全意识缺失的问题。
我写这篇文章,不是为了抱怨,而是为了敲响一个警钟:
- 写烂代码可以短期交付,但你留不住客户
- 系统架构乱七八糟,维护的人每天都在流血
- UI/UX 随意堆砌,用户体验烂掉,产品不会有未来
你写代码的方式,就是你做人做事的方式。
你代码乱,我也会怀疑你的生活方式是不是也一团糟。
💬 欢迎讨论
你是否也经历过这些“地狱级”的开发现场?
你是否也为职业底线一次次被迫妥协而感到疲惫?
欢迎留言,我们一起来聊聊 ——
别让“能上线”成为你对技术的全部理解。
This content originally appeared on DEV Community and was authored by 钟智强

钟智强 | Sciencx (2025-07-24T15:49:41+00:00) 为什么我讨厌与马来西亚的软件公司合作?. Retrieved from https://www.scien.cx/2025/07/24/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e8%ae%a8%e5%8e%8c%e4%b8%8e%e9%a9%ac%e6%9d%a5%e8%a5%bf%e4%ba%9a%e7%9a%84%e8%bd%af%e4%bb%b6%e5%85%ac%e5%8f%b8%e5%90%88%e4%bd%9c%ef%bc%9f/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.