MONTH / March, 2009

应用工厂模式解决实际问题

我前段时间去面试时的一道题目,问题如下:

有一个脚本文件,每行有一句指令或空行,指令格式:

Command[,Param[,Value]]

其中Parameter 和 Value 非必须。设计一套解析指令的类,高效且易于扩展(尽可能降低代码内部耦合性)。

当时虽然都想到了,不过满脑混沌,没有完整明白地表达出来。本来想去公司再看看代码是怎么实现的,昨天在网上闲逛的时候忽然看到了这篇笔记,那就顺便也整理了下自己的思路,结合实际温故理论。

假设有“移动(Move)”、“攻击(Attack)”等几个指令;建立一个工厂类,并将所有指令类预先注册到工厂中,由工厂调用每个指令类的静态成员函数 CreateInstance() 来实现指令类实例的创建:

CONTINUE READING »


走出行业暴利思维,开始为“软件”付钱

// 转载

今天早上,在 QQ 群里与朋友聊起配眼镜,有人说眼镜是暴利行业,“一个所谓的薄铁架,镀上一点不知是真是假的金属,然后卖个大几千”。这种看法是相当外行的,可以说是最普 遍的对行业暴利的思维,没有考虑到行业的“软件”也是需要付钱的。以下整理自我在 QQ 群的聊天记录。
大部分中国人就那德性,不肯为“软件”付钱。

眼睛是人体最脆弱的部位,配眼镜是技术活,差之毫厘,谬以千里。可是却几乎没有客人有意识为这些技术出钱,只好把这些钱附加在眼镜价格上。比如买镜 片两百,但帮你打磨镜片收价五百,你肯出不?大部分人不肯的,所以只好说买镜片七百。(islet8:眼镜这个例子不算很好,它实在过于暴利

为什么在中国搞艺术的人大部分都过着猪狗不如的生活?因为他们生产的成本都是看不见,摸不着的,虽然事实上成本很大,但没有人肯多给点钱。更惨的是他们生产出来的东西,比如一幅画、一首歌,普通民众也难以说服自己为它们付出几千几百。

再比如,为什么你们接个软件界面图标之类的外包单子,客户只肯出几百几千?事实上你要工作上百个小时的活,生产出来的东西外行人一看,哇,就这几个 32*32 象素的图标算下来竟然要几十块一个,太 TMD 贵了!

不要用外行的眼光去评估别的行业,不要用衡量自己的标准去衡量别人。

朋友你不是说你懂程序嘛,程序员最讨厌的计算业绩的方式就是 LOC(lines of code,代码行),为什么?因为这个指标就是一个纯外行的眼光,同一个问题,用十行代码解决往往比用一百行代码解决更难,甚至花费更多的时间,但如果用 LOC 指标,你写十行代码就是业绩不佳。

你也许看过这个故事:有个小女孩走路有点八字脚,她母亲带她去医院看专家门疹,挂号费一百;等了很久才轮到她们,专家一看,说:回去把左右鞋对调穿 一下就好了。母亲气啊,一百块钱一句话,但这句话你觉得贵吗?还有一个故事是收费一万美元给坏了的机器画线的故事,那个老工程师说:画线收费一美元,知道在哪里画线收费 9999 美元

CONTINUE READING »