天下大事,必作于细
来源:互联网 发布:arduino单片机 编辑:程序博客网 时间:2024/04/23 17:03
天下难事,必作于易,天下大事,必作于细。
----《老子》第六十三章
近来有了些与以往不同的开发经验,这些经验可用八个字来概括:天下大事,必作于细。
有很多的人习惯使用"差不多","将就将就"这类短语。
用于做人,这体现的是一种历史中沉淀出的智慧;
用于做产品,尤其是软件产品,这是致命的。
我所接触到的国内的程序员,有许多走的是一条通向“高手”的路子。
具体的特征是,你给我个啥事,我肯定能把它做出来。
只求做完,不求做好。所以虽然知识面广博,临场搏杀老练,前行勇猛,却未必能作出优秀的产品。
因为明显的收益,好多人恨不得在短时间内成为绝世高手。
其结果往往浮沙筑高台,虽巍巍雄壮,却终究耐不得推敲。
为把事情说得更清楚,这里我来看下面一个场景:
命题:请编写一个为50个字符串进行排序的函数。
大多数人看到这个命题,不会问什么,很快就有结果出来。
其完成的函数里面可能包含下面的代码段:
A:
int iRet=lstrcmp(..., ...);
B:
int iRet;
if( GetVersion() <0x80000000)
iRet=strcmp(...,...);
else
iRet=wcscmp(...,...);
C:
int iRet;
iRet=_tcscoll(..., ...);
因为有人在实现程序的时候不求甚解,那么出现这种“看上去能行“的程序就成为一种必然。
(我不知道究竟有多少人(包括高手)会走上面列出的这些路,我个人是没处理好,所以在这里检讨)
从技术角度看,这里的问题在于:
命题不清楚,应该提出质疑。
不清楚的点包括,按照什么样的规则进行排序,码序(character set order)还是字典序(lexicographic character order)、程序是否会在多种Locale下运行、需不需要支持Unicode等。
刚看到这个题目时,可能发现不了这些问题,但是当学习相应API的说明时,如果仍然没发现这些问题,那唯一的可能就是学习的时候就没搞太清楚,而后又想当然的认为某个API的行为就是如何如何。
有自己不清楚的问题没关系,没人能什么都预先知道。
重要的是如何面对这种以前自己不清楚的问题。
使用一个API的时候,有多少人是在完整的看完帮助文档,并把相关概念都弄清楚后才使用的呢。
这种状况可能和大环境有关。
当企业为生存所迫,就不得不关注短期目标,所以就需要快枪手。
当员工为短期目标所迫,就不得不囫囵吞枣,也就没时间把基础打扎实。
中国的程序员虽然生存不易,但终究要对自己负责。
没人能避免程序中出现错误,但每个人都应该努力不写“应该没问题“的代码。
最终的产品就像拦河大堤,修起来要千万人力,但毁起来,老鼠打打洞就足够了。
在中国人眼里,日本人做事方式并不高明,
但日本的企业确实取得了非常大的成功,一个根本原因就是日本人非常的重视细节。他们不习惯放过任何一个
细小的问题。
- 天下大事,必作于细
- 《精益创业》- 天下大事必作于细,天下难事必作于易
- 天下大事,必做于细
- 天下大事,必做于细!
- 天下大事必作于细,聊聊腾讯兼容测试的升级“打怪”历程
- 天下难事,必作于易
- 天下大事做于细,从零实施ERP
- 冬至作于厦门
- 要做成大事必须要四行!
- 行胜于言始于思 成起于为作于细
- iGrimace 作任务必看
- 关 于 PV 操 作
- 关 于 PV 操 作
- 关 于 PV 操 作
- 关 于 PV 操 作
- 关 于 PV 操 作
- 关 于 PV 操 作
- Android自定义控件 于笔者-开天辟地的大事(一)
- 一场从未谋面的网络情
- 怎样闪烁应用程序在任务栏上的按钮
- 帮忙看看这条sql语句错在那里?
- 不错的blog
- 放手了就别再说爱我
- 天下大事,必作于细
- 透明的CEdit控件
- 感冒ing
- 开始学习Java,先放几个链接
- “文件夹选项”不见了
- 在线播放器代码大全
- 早期的各地计划生育口号,超强.....
- 意愿百分百
- ICMP RFC 792