惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - JustLive

mssql恢复 Java学习笔记--jsf篇 TDD的三条军规 养成助你成功的十个习惯 35岁成功人的12条黄金法则 数据库接口隔离设计 彷徨 疑虑 That Place In Your Heart 唐古拉风 奔放 轻柔钢琴曲 克罗地亚狂想曲 数字陷阱 Thinking After Done (1) 关于TWebBrowser 偶的第一个游戏--《N连珠》 数据类型转为字符串 Delphi第三方组件--Delphi第三方控件大比拼
谁给我们伤害?
JustLive · 2005-12-15 · via 博客园 - JustLive

       随着年结部分的结束,我的工作心情基本放松。回想这十几天写的两个窗体和不到两千行的代码,感觉很痛苦,不知道谁在伤害着我们,这些程序员们?
        我到公司才14个月多点。刚来就是在改老国库的代码,记得当初老国库一跑起来基本上需要一边喝茶,一边等它响应。彷佛一位老态龙钟的老人气喘徐徐跟在我们后面和我们一起爬山,我们总是在等它。

        我们的程序版本上写着1993-2002。可见是多么的悠久,差不多都赶上ms的windows了。可是在看看它如何响应操作。每点击一个树枝,那漏斗写着sql的鼠标要翻转好几回才能把数据加载。我不禁想,我们的用户都是超级有耐心嘛?
        国库好像不止是我们公司在做。那么,我们肯定是需要有竞争力的,我们的产品如此颓废,怎么和人家比?或许这不是我该操心的。好吧,让我在说说这个让我不堪忍受的程序。
        如果你在操作业务,不妨打开资源管理器,看看你的内存是怎么增长的,是的, 一直是增长,就算退出业务窗体也不见降低,除非你关掉程序。就是这样。

        在看看里面的代码。命名的不规范几乎就不算毛病了。 里面成段成段的代码被注释掉,却还留在哪里?我们不是有版本控制嘛? 有专门负责项目管理的嘛? 在这样糟糕的代码里修改程序,增加功能就如同在垃圾堆里工作,让人很不爽。

       再看看这些公用的方法。很多被人遗忘了。 大家都是自己写自己用。让整个程序失去了一致性,统一性。 是啊,程序经历了那么久,只有不断增长的老茧,却没有看到它在茁壮。这是项目发展的失败。

       再看看窗体里面,很多地方用到了树,而且每个节点都保存了诸如编码,级次等信息。 是的,这些都是用内存的方式加入的。 加载在节点的objects列表中,可是当窗体关闭时, 没有人释放过他们,所以我们的内存曲线一直是在涨。

更有甚着create之后没有free过。这是何等的糟糕。

       再看看代码的结构,几乎到处都是僵硬,脆弱和高度耦合。 基本就是只为操作数据库写的。 根本不是在做产品! 看不到面向对象设计,看不到接口,看不到可复用,更不用说模式或者架构了。

       我想没有一个程序员愿意修改这样的程序,因为实在糟透了。也许我不是好员工,因为我在抱怨。但是不吐不快。因为我们的程序有客户。我们有市场,我可以制造更有力的产品。

        今年我花了大半年时间炮在方正春元的国库上。不知道方正是我们的合作者还是竞争者,或者都是。但是我有很多感慨。

        方正的国库,每个操作响应如果超过1秒都会有进度条显示,和友好提示。除了上传下载基本很少有超过3秒的响应。对了也许人家是采用本地库的原因。在看看他们的代码,基本上算干净的,而且编写尊从约定。 虽然他们的程序算不上一流,但是跟我们的国库比,可以用天壤之别来形容。

         突然想到这样的问题。