﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-CG@CPPBLOG-随笔分类-杂谈</title><link>http://www.cppblog.com/cuigang/category/5809.html</link><description>写写字，看看书，聊聊天</description><language>zh-cn</language><lastBuildDate>Sun, 07 Feb 2010 10:02:08 GMT</lastBuildDate><pubDate>Sun, 07 Feb 2010 10:02:08 GMT</pubDate><ttl>60</ttl><item><title>一晃一年过去了</title><link>http://www.cppblog.com/cuigang/archive/2010/02/07/107433.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Sun, 07 Feb 2010 07:11:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2010/02/07/107433.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/107433.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2010/02/07/107433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/107433.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/107433.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt; font-family: Tahoma;">一晃一年多过去了，公司项目很紧张，没什么时间学习，scheme学习扔了将近两年，曾经的SICP学习计划严重延期了。期间有朋友给我留言都没有时间回复，或许忙已经成为借口了，还是回来再继续吧。</span><br>   <img src ="http://www.cppblog.com/cuigang/aggbug/107433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2010-02-07 15:11 <a href="http://www.cppblog.com/cuigang/archive/2010/02/07/107433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>In the USA - 4</title><link>http://www.cppblog.com/cuigang/archive/2008/10/26/65096.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Sun, 26 Oct 2008 07:28:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/10/26/65096.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/65096.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/10/26/65096.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/65096.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/65096.html</trackback:ping><description><![CDATA[<span style="font-family: Tahoma; font-size: 10pt;">已经回到深圳一个月了，去美国的事情几乎记不起来了，感觉好像做了一场梦似的，还是这里更真实，更喜欢中国。SICP学习已经中断了好久了，也该重新捡起来了。</span><br><img src ="http://www.cppblog.com/cuigang/aggbug/65096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-10-26 15:28 <a href="http://www.cppblog.com/cuigang/archive/2008/10/26/65096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>In the USA - 3</title><link>http://www.cppblog.com/cuigang/archive/2008/09/12/61724.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Fri, 12 Sep 2008 15:24:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/09/12/61724.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/61724.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/09/12/61724.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/61724.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/61724.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt; font-family: Tahoma;">转眼就好几周过去了，整天无所事事的不知道干啥，语言是最大的障碍，学了十年的英文仍然跟白痴一般。<br><br>顿顿都吃着麦当劳、肯德基、必胜客类似的东西，搞得恶心透顶了，能吃碗面或者炒个菜就好了，不用整天跟牛一样啃生菜。<br><br>没有车在美国寸步难行，几乎没有公共交通工具，1个小时一班的bus坐满了黑人和墨西哥人，火车稍微好点，但我这地方太偏僻了，要走一个小时才到火车站。<br><br>去了纽约，大瀑布，不是很激动，比较沉默。</span><br><br>    <img src ="http://www.cppblog.com/cuigang/aggbug/61724.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-09-12 23:24 <a href="http://www.cppblog.com/cuigang/archive/2008/09/12/61724.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>In the USA - 2</title><link>http://www.cppblog.com/cuigang/archive/2008/08/15/58906.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Thu, 14 Aug 2008 17:30:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/08/15/58906.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/58906.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/08/15/58906.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/58906.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/58906.html</trackback:ping><description><![CDATA[没地方抽烟，几乎所有的室内都 No smoking，大街上找不到垃圾桶，烟头不知道往哪扔。<br>美国人不睡午觉，我中午就犯困。<br>他们对棒球的兴趣看来比奥运会大。<br>上班不打卡，公司没有保安，人很少，地方很大，几乎每个人一个房间。<br>干什么都要付小费。<br><br><img src ="http://www.cppblog.com/cuigang/aggbug/58906.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-08-15 01:30 <a href="http://www.cppblog.com/cuigang/archive/2008/08/15/58906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>In the USA - 1</title><link>http://www.cppblog.com/cuigang/archive/2008/08/13/58681.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Wed, 13 Aug 2008 01:13:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/08/13/58681.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/58681.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/08/13/58681.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/58681.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/58681.html</trackback:ping><description><![CDATA[象折磨一般，填表填表、安检安检，断断续续持续了一个月，终于踏上了美利坚合众国的土地，16个小时的飞机比坐硬座痛苦多了，坐在酒店来接机的小车里，整个人象磕了药一样，恍恍惚惚的看着窗外的纽约，Big 是唯一的感受，车大、路宽、交通指示牌牌大字大，连到处悬挂的美国国旗都硕大无比，在国内从来没有见过如此尺寸的旗子。<br><br>用西北人的话来说，这里野哄哄的。<br><br>  <img src ="http://www.cppblog.com/cuigang/aggbug/58681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-08-13 09:13 <a href="http://www.cppblog.com/cuigang/archive/2008/08/13/58681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谨记于此</title><link>http://www.cppblog.com/cuigang/archive/2008/03/30/45720.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Sat, 29 Mar 2008 16:23:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/03/30/45720.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/45720.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/03/30/45720.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/45720.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/45720.html</trackback:ping><description><![CDATA[<span style="font-family: Georgia; font-size: 10pt;">我们的世界是模糊的、连续的、不精确的，但软件是精确、离散的、形式化的，这就注定了软件不能完全描述现实世界。因此我们需要知道描述哪些部分，忽略哪些部分，这就是软件的本质问题。</span><span style="font-size: 10pt; font-family: Tahoma;"><br>--- Tom Demarco<br><br>任何一个正在构建大型系统的人，天天面对的中心议题就是：如何剔除不必要的、人为的、自找的复杂部分，并控制好剩下的，无可逃避的复杂性。<br>--- Betrand Meyer
</span><span style="font-family: Georgia;"></span><span style="font-size: 10pt;"></span>
<p style="text-indent: 2em; font-family: Tahoma;"><em><strong></strong> </em> </p>
<br><img src ="http://www.cppblog.com/cuigang/aggbug/45720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-03-30 00:23 <a href="http://www.cppblog.com/cuigang/archive/2008/03/30/45720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>推荐 SICP</title><link>http://www.cppblog.com/cuigang/archive/2008/03/18/44801.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Tue, 18 Mar 2008 13:57:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/03/18/44801.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/44801.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/03/18/44801.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/44801.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/44801.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;"><span style="font-family: Georgia;">我为什么推荐 SICP？</span><br style="font-family: Georgia;"><span style="font-family: Georgia;"></span><span style="font-family: Georgia;"><br>向大家推荐 SICP，不知道有多少人看了，也不知道有多少人明白了，更不知道有多少人惊叹了。或者你根本不屑一顾，或者你看见 Lisp 那层层括号心生畏惧，又或者你了了一瞥，觉得没什么精彩之处。那我真的很失望。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">我为什么要推荐SICP，而且为什么如此执着？这本不算厚的书带给我的观念，是从未有过的，是关乎于软件本质的。曾几何时，我觉得我看到了计算机编程书中没有的哲学观，但这一次我的梦破灭了，那些已经被写进书里差不多快 30 年了。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">对于 SICP，我真正算看完的，恐怕只有第一章。我现在就来谈谈我的心得，以再次向你展现这本书的魔力。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">第一章作为基础，作者并没有象后续章节写太多的软件思想，主要还是介绍 Scheme 语言，所以草草看去，没什么精辟之处。不过在第一章中，作者用了大量的篇幅来探讨数学问题，因为他想向你揭示程序设计中的核心哲学：抽象。而数学无疑是最好的例子。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">了解数学史的人，应该知道整个数学史，就是一个不断抽象的历史。古希腊人将字母引入计算，使数学不再只是算术，而且具有表达抽象规则的能力。近代数学对函数和微积分的探求中，用 f(x) 替代了多项式表达式，函数更一般了，然后 n 维空间、复分析、映射、泛函，抽象代数、群论，等等等等，直到集合论，摧毁了数学的基石，使数学界再次陷入沉思。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">构造程序的方法也是抽象。从最简单的元素开始，基本元素(自演算表达式，包括数字，字符串和布尔值），然后定义基本过程（基本运算符，四则运算和布尔运算），进一步，自定义标识符（如同代数），再自定义过程（函数），再将过程作为值参与运算（高阶过程）。一步步的抽象，形成了整个程序的结构。而我们编程，无非就是从现实世界抽象出模型，再将模型不断的提炼抽象，属性、方法、类、继承、层次、框架。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">编程就是一个不断抽象的过程。我再次把作者在第一章末写下的结论抄在这里，作为最后的注脚。</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&nbsp;</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">&#8220;作为编程者，我们应该对这类可能性保持高度敏感，设法从中设别出程序中的基本抽象，基于它们去进一步构造，并推广它们以创建威力更强大的抽象。当然，这并不是说总应该采用尽可能抽象的方式去写程序，程序设计专家们知道如何根据工作中的情况，去选择合适的抽象层次。但是，能基于这种抽象去思考确实是最重要的，只有这样才可能在新的上下文中去应用它们。高阶过程的重要性，就在于我们能显式地用程序设计语言的要素去描述这些抽象，使我们能像操作其他计算元素一样去操作它们。&#8221; </span><br style="font-family: Georgia;"><br></span><img src ="http://www.cppblog.com/cuigang/aggbug/44801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-03-18 21:57 <a href="http://www.cppblog.com/cuigang/archive/2008/03/18/44801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>面向过程和面向对象程序的形式</title><link>http://www.cppblog.com/cuigang/archive/2008/03/11/44209.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Tue, 11 Mar 2008 12:50:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/03/11/44209.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/44209.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/03/11/44209.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/44209.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/44209.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;">目前为止，程序的表现形式是对过程的叙述，顺序、分支、循环结构是最基本的原子形式。而面向过程的分析和设计无疑是最自然的框架结构，它将过程形式的代码段再次迭代的以过程形式组合，形成整个程序。就像将句子连成段，将段连成章，将章连成篇，将篇连成书。这也是最符合阅读者思维的形式，整个程序就像一个内含超链接的文本小说，主体上是流畅的，符合连续思维的。<br>&nbsp;<br>面向对象程序不能说是颠覆性改变，它的原子表现形式仍然是顺序、分支和循环。而由于依赖于过程性系统的装载，其整体的最外层仍然是一个过程性的函数。它与面向过程在其表现形式上的不同，仅仅存在于中间层。<br>&nbsp;<br>面向对象程序的表现形式是词条式的，至少是传记体的，而不是编年史。你可以想象，一部小说，作者首先把所有的故事按照角色重新归类，再分割为一个个小故事，可以想象是这样的：<br><br><span style="color: #007834;">——传记式：</span><br style="color: #007834;"><span style="color: #007834;">《张三传》</span><br style="color: #007834;"><span style="color: #007834;">&nbsp;&nbsp;&nbsp;&nbsp; 张三，秦人，少年，虬髯黑脸，为人仗义。</span><br style="color: #007834;"><span style="color: #007834;">&nbsp;&nbsp;&nbsp;&nbsp; 逸事一：若傍晚时访之，必留宿，夜必邀相饮。三十三年春，李四自华阴来，&#8230;&#8230;</span><br style="color: #007834;"><span style="color: #007834;">《李四传》</span><br style="color: #007834;"><span style="color: #007834;">&nbsp;&nbsp;&nbsp;&nbsp; 李四，中原人，白脸壮年书生，十六岁举秀才。</span><br style="color: #007834;"><span style="color: #007834;">&nbsp;&nbsp;&nbsp;&nbsp; 逸事一：其人好游，某年遇张三&#8230;&#8230;</span><br style="color: #007834;"><br style="color: #007834;"><span style="color: #007834;">——词条式：</span><br style="color: #007834;"><span style="color: #007834;">醉酒：&nbsp;&nbsp;&nbsp;&nbsp; 张三与李四饮酒，大醉&#8230;&#8230;</span><br style="color: #007834;"><span style="color: #007834;">举秀才：&nbsp;&nbsp; 李四，十六时&#8230;&#8230;</span><br style="color: #007834;"><span style="color: #007834;">张三其人： 秦人，少年，虬髯黑脸，为人仗义&#8230;&#8230;</span><br style="color: #007834;"><span style="color: #007834;">巧遇：&nbsp;&nbsp;&nbsp;&nbsp; 三十三年，李四巧遇张三&#8230;&#8230;</span><br style="color: #007834;"><span style="color: #007834;">仗义好客： 张三好客，若傍晚时访之，必留宿，夜必邀相饮&#8230;&#8230;</span><br>&nbsp;<br>这种表现形式是某种词条式的分裂，故事被不断的片段化，一个比较好的面向对象程序一般会有大量的细粒度对象，对象的属性和方法都不多，方法都很短。虽然这种表现形式能解决一些过程性叙述的不足，但无疑过分的碎片化会带来理解上困难，传记式尚好，词条式就很难了。这就是面向对象程序在形式上出现的弱点。分析设计时，需时时脑中回想整体结构，以防偏离。而阅读维护时，需要把这些片段慢慢织起来，连成一个故事。<br><br>----------------------------------------------<br>将SICP的注脚240记在这里：<br>&nbsp;<br>对象模型对世界的近似在于将其分割为独立的片断，函数式模型则不是沿着对象间的边界去做模块化，当&#8220;对象&#8221;之间不共享的状态远远大于它们所共享的状态时，对象模型就特别好用。这种对象观点失效的一个地方就是量子力学，在那里，将物体看作独立的粒子就会导致悖论和混乱。将对象观点与函数式观点合并可能与程序设计的关系不大，而是与基本认识论有关的论题。<br><br>&nbsp;<br></span>    <img src ="http://www.cppblog.com/cuigang/aggbug/44209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-03-11 20:50 <a href="http://www.cppblog.com/cuigang/archive/2008/03/11/44209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅论要协同作战</title><link>http://www.cppblog.com/cuigang/archive/2008/01/10/40934.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Thu, 10 Jan 2008 15:02:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2008/01/10/40934.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/40934.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2008/01/10/40934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/40934.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/40934.html</trackback:ping><description><![CDATA[<p><font face="宋体" size="2">兵者，国之大事，不可不察也。——孙武</font></p>
<p><font face="宋体" size="2">战
争是一个复杂的系统工程，需要多兵种的协同，即便是在冷兵器时代，也不能依靠单一兵种完成某场战役，现代战争更是需要不同专业士兵的配合。我们经常可以在
影视剧中看到这样的情景：两军对垒，最前面是盾牌兵，接下来是弓箭兵、长枪兵、骑兵、朴刀兵。首先弓箭兵在盾牌兵的掩护下放箭，一通乱射之后，然后盾牌兵
和长枪兵冲锋，弓箭兵掩护，快接近敌军时，盾牌兵后撤，弓箭兵停止射箭，骑兵和朴刀兵冲锋。这种配合看似教条，实际是有一定意义的，它是从实践中总结出来
的，从某种程度上反应了冷兵器时代多兵种协同作战的重要性。</font></p>
<p><font face="宋体" size="2">软
件开发也是一个复杂的系统工程，需要各种专业的技术人员配合。通常我们简单的把这些技术人员分成需求、开发和测试，相应的也把整个过程分为需求阶段、开发
阶段、测试阶段。这种划分积极的意义是区分了不同专业方向，将整个过程流水化，负面的意义是将各个阶段和各个专业团队割裂开，各自为政，失去了划分专业的
本意，形式替代了目的。结果需求人员的目的变成了写出一份需求，然后封闭意见；开发人员按照需求写出代码，改正bug；测试人员挖掘bug，监督开发人员改正，然后写一份报告。整体的目的荡然无存。当然无法否认这种流水作业的正确性以及必要性，我这里要说的只是它的负面问题。</font></p>
<p><font face="宋体" size="2">当
作战室只要指定一份作战计划，作战部队只要冲锋杀敌，后勤部队只要做饭埋尸体；空军只管按线路图投弹，炮兵只要向指定坐标开炮时。如果没有一个正确的、伟
大的、英明的将军，这场战争只能在一个貌似严格符合教科书的方式开始，以一个不可思议的方式失败。因为除了这位将军，所有人都没有带着脑袋去打仗，他想的
对不对，直接影响到结局。</font></p>
<p><font face="宋体" size="2">可
惜的是，我们没有这样的将军指挥软件开发，也不存在这样的将军。我们都长着脑袋，都要去思考。从另外一个角度，我们并不严格类似军队，我们更像一个自治的
团体。那么自我协同就成了一个现实问题。需求、开发和测试人员如何协同完成一个产品呢？首先我们要把他们看做一个整体，他们所有人工作的目的只有一个：完
成一个产品。需求阶段、开发阶段和测试阶段只是这个目的的一个阶段，不是某个人工作的终极目的。我们已经认识到这点，但我们做的远远不够。</font></p>
<p><font face="宋体" size="2">在
需求阶段，需求人员应该统领全局，向开发和测试人员介绍产品构想，解释需求，辅助开发和测试人员完成后续阶段的计划和方案；在开发阶段，开发人员要重新整
合所有资源，由开发人员冲锋，需求人员提供支持，测试人员监督开发过程，纠正开发失误；而在测试阶段，测试人员才是指挥中心，他们要检查软件，需求人员配
合诊断，开发人员按测试计划解决故障并封闭。不同的阶段只是中心成员不同，决策人员不同，而不是责任不同，目的不同。</font></p>
<p><font face="宋体" size="2">可
能说的太隐晦了，举两个例子来说明。一个还是打仗的例子，比如现在我们需要让弓箭兵上马，去追杀敌军。弓箭兵老大可能反对并提出几个原因，第一，并非职责
范围，弓箭兵的职责是远距离造成敌军伤亡，没有追逃的责任，这是骑兵的责任。第二，技术能力不足，弓箭兵都不善于骑马，而且马上射箭难度较大，没法实现。
第三，如果敌人反扑，由于不善近战，可能会造成大量伤亡。的确有道理，可是如果我们真的需要这样做来表现我们的战略意图，怎么办？</font></p>
<font face="宋体" size="2">再
举一个身边的例子来说明，前几天有这样的争执，关于需求应不应该明确界面限制导致选项不生效，然后切换界面取消限制，选项应如何的问题。需求人员的意见是
这样的，第一，选项最终是什么不重要。第二，强行限制，会使需求工作量变大，同时开发和测试的工作量也增大（因为不同的地方，自然结果必然不同，强行一致
会导致不自然的处理，同时测试需要关注测试）。第三，不利于平台化建设，这种限制会导致需求过分依赖于产品，无法在不同产品间共用。都很有道理。但是我认
为，提出这个问题是无可厚非的，需求的意见也是中肯的，解决的办法是，我们要看看我们的终极目标，以此来判断是否需要这样做。首先，如果不限制造成不一
致，对我们的产品有没有影响，其次，如果不一致，会不会造成后续工作的阻滞。对于这个问题的本身，我觉的对于无关紧要的选项，需求可以不写，开发可以顺其
自然，测试不必关注。而对于比较重要的选项，需求必须明确，开发必须处理，测试要注意关注。不可一概而论，非左即右。</font><br><br><br><img src ="http://www.cppblog.com/cuigang/aggbug/40934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2008-01-10 23:02 <a href="http://www.cppblog.com/cuigang/archive/2008/01/10/40934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>小议</title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38810.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:38:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38810.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38810.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38810.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38810.html</trackback:ping><description><![CDATA[<br>&nbsp;<br>昨晚在家看了一集《武林外传》，说的是白展堂给捕快小六教武功，就教了扎马步，郭芙蓉给莫小贝教武功，就教了个转圈圈（什么什么八卦掌）。结果莫小贝和小六比武，小六始终扎着马步，莫小贝就在他旁边转圈圈，硬是把两个人累趴下了。<br>&nbsp;<br>虽然挺可笑，但也反映了一个问题。行为应该取决于目的，虽然那些招式号称武功，但不能制敌，不如上去捶他一顿。而我们做技术设计的，最容易犯这个毛病了，刚刚学了个新方法，新技巧，新模式，就急不可耐的用了。就像上学时刚学了个公式，做作业时就拼命用，也不管是不是应该用。<br>&nbsp;<br>我以为，其实面向对象设计的威力之所在，是设计的原语更接近现实世界，有些书中提到&#8220;隐喻&#8221;，其实就是让我们把设计放到生活中来，找到类似的例子，再反馈到设计中去，如此反复，以完善我们的设计。而这其中，恐怕最重要的要素就是对象的职责和彼此协作机制。<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 崔刚 2007-11-23<br> <img src ="http://www.cppblog.com/cuigang/aggbug/38810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:38 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用左手思考</title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38806.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:35:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38806.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38806.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38806.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38806.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38806.html</trackback:ping><description><![CDATA[<br>&nbsp;<br>倒霉起来，什么都挡不住，现在只能用左手打字了。自从鼠标和筷子换到了左手，突然有重获新生的感觉，我真切地感到自己还有很多的事情都不会，当米饭被左手的勺子弄得满桌子都是的时候，我仿佛回到和女儿一样的年纪。 <br>&nbsp;<br>不知道大家有没有在前进的路上踌躇，你还有至少一半的潜力没有开发，当你习惯了右手，不要忘记你还有左手。<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 崔刚&nbsp;&nbsp;&nbsp; 2007-11-19&nbsp; 左手草就<br>===========================<br>支持！今天起用左手鼠标－－陶华<br>&nbsp;<br>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br>&nbsp;<br>难得崔兄如此豁达！真应该向你学习！人生已经如此明镜，还有什么困难挫折，能挡在我们面前呢？&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; －－ 张进<br>=======================<br>呵呵，以前也是手伤了，用左手吃了一个月饭，之后也经常有意使用左手，再后来听说这样对神经不好，会引起混乱，觉的有一定道理，也渐少用了。<br>－－bingo<br>&nbsp;<br>==========================<br>当你是一个另类时，你会觉得似乎和周围的人有点格格不入，总觉得有人会耻笑你，虽然没有人笑你；我小时候是用左手的，写字、吃饭、砍柴，直到初二吧！小时候扳手力，我搞不定其他小朋友，因为大家都是用右手；打乒乓球我用左手，时不时可以来个出人意料的扣杀，用右手的人是很难接招的。打篮球我也是用左手，很多很多，但在我的成长过程中，我都在强迫自己用右手，导致左右手都发育不良，还好女朋友（现在是老婆了）一直称赞我脑袋瓜特好使，让我多少有一点欣慰。若我的后代也遗传了我的左撇子，我会告诉他自然发展吧！<br>——钟遥<br>&nbsp;<br>**********************************<br>呵呵，我上高中的时候，由于一次右手腕受伤，被迫改用左手运球，投篮；随后也就养成了左右手平衡发展的习惯。虽然我左手投篮的命中率总是超不过右手，但是平衡发展可以让自己的缺点不是那么明显和致命，有时甚至可以转化成优点。<br>－－杨晓涛<br>&nbsp;<br>/////////////////////////////////////////////////////<br>&nbsp;<br>感谢大家跟帖，其实用左手挺好的，锻炼一下，看看什么时候可以左右互搏。 ：）&nbsp; 崔刚 2007-11-19<br>&nbsp;<br>================<br>忘了对崔刚的伤势表示慰问，肿了呢！<br>伤成这样都如此乐观，称赞称赞！就当是因祸得福吧！借此机会开拓自己的另一半！<br>——钟遥<br> <img src ="http://www.cppblog.com/cuigang/aggbug/38806.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:35 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38806.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>剑宗和气宗 </title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38800.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:31:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38800.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38800.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38800.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38800.html</trackback:ping><description><![CDATA[<br>以气为宗还是以剑为宗？<br>&nbsp;<br>话说华山派因气剑之争分为二宗，一者以修习内功心法见长，是为气宗，一者以钻研剑法招式为本，是为剑宗。二宗意识形态不同，哪能共存，某年某月某日两派华山一役，剑宗尽灭。但老金似乎并不认为气宗就一定高过剑宗，又让令狐冲学了剑宗本事后突飞猛进。到底哪个才是末学，老金并没有给出答案。<br>&nbsp;<br>程序员往往也面临这个抉择。<br>&nbsp;<br>&nbsp;<br>&nbsp;<br>======================<br>我不喜欢依靠外物，我选气宗。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --彭建军<br>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br>个人学气功，集体练剑阵－－陶华<br>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br>考虑这个问题很久了，想到两句话：一个是《老子》里的&#8220;以正治国，以奇用兵&#8221;，一个是《三国》里的&#8220;用兵之道，一正一奇，正者持之，奇者胜之&#8221;。引申到软件里，我认为能固化能传授的经验和工具（如正向设计，规范流程，代码熟悉）就是正，反之非常依靠经验（如查死机问题，打补丁）就是奇。正是奇的根本，没有正的奇就是旁门左道。bingo<br>&nbsp;<br>============================<br>孤孤单单一个人,走在丽影双双的街头,<br>忘了我在找什么,等待明天还是往回走?<br>总是在失去以后才想再拥有<br>......<br>这个问题我都想的很累了,很想看到大家的想法,<br>顶起来!希望看到更精彩的高论!<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JIn CHuang(张进)<br>/**************************************/<br>气剑之争，实是寻求武学的终极之道，究竟是个人修为重要，还是研习招式重要。武学自古有内外之分，少林武当皆以内家气功见长，但也有铁砂掌之类的外家招式，令狐冲的独孤九剑可能就是剑法巅峰之学了，从也不见小李探花用什么内力。可见内外家都有绝顶高手，但深入看，其实这些名家无不内外兼修，难以想象仅有内力却无招数，那如何制敌？或徒有高招但绵而无力，敌何惧之？&nbsp;&nbsp; 其实便如玩暗黑系游戏，给人物加属性一样，每次只有5个点，你说加什么属性？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 崔刚 2007-10-31<br>*/<br>&nbsp;<br>===================================<br>顶!<br>顺便问问,&#8220;葵花宝典&#8221;很是厉害,是内功还招式,或是兼而有之?mosj<br>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br>&#8221;葵花宝典&#8220;是内功吧，&#8220;辟邪剑法&#8221;是招式！令狐冲最后能敌得过岳不群还不是靠收了桃谷六仙的内力，最后又习了少林易筋经的结果。所以麻，还是得靠内外兼修！这才是武学大家！<br>Ftz<br>&nbsp;<br>////////////////////////////////////////////////////////////////<br>问各位玩过星际类似游戏的，你们认为造更多的兵重要还是升科技重要？ 崔刚，2007-11-1<br>&nbsp;<br>&nbsp;<br>#########################<br>不要执著于答案，跟郭富城一起动起来吧！要兵不要科技，就是无源之水；要科技不要兵，就是竹篮打水。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 靳波<br>&nbsp;<br>============================<br>狂占矿，狂造兵，狂升级，狂骚扰，狂操作，最后搞死他。&nbsp; --彭建军<br>＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝<br>把所有能用的都用上，不留任何闲置资源－－陶华<br>&nbsp;<br>============================<br>升科技或者造兵都可能赢，唯一必输的就是什么都不做。<br>--王祁<br>&nbsp;<br>===================================<br>&nbsp;<br>要隐喻练武，拿朴素的话来讲，我认为，一个程序员的成长可分为如下六个阶段：<br><br>第一阶段<br>&nbsp;&nbsp;&nbsp; 熟练地使用某种语言。这就相当于练武中的套路和架式这些表面的东西。<br><br>第二阶段<br>&nbsp;&nbsp;&nbsp; 精通基于某种平台的接口（例如我们现在常用的Win 32的API函数）以及所对应语言的自身的库函数。到达这个阶段后，也就相当于可以进行真实散打对练了，可以真正地在实践中做些应用。<br><br>第三阶段<br>&nbsp;&nbsp;&nbsp; 能深入地了解某个平台系统的底层，已经具有了初级的内功的能力，也就是&#8220;手中有剑，心中无剑&#8221;。<br><br>第四阶级<br>&nbsp;&nbsp;&nbsp; 能直接在平台上进行比较深层次的开发。基本上，能达到这个层次就可以说是进入了高层次。这时进入了高级内功的修炼。这时已经不再有语言的束缚，语言只是一种工具，即使要用自己不会的语言进行开发，也只是简单地熟悉一下，就手到擒来。<br><br>第五阶级<br>&nbsp;&nbsp;&nbsp; 已经不再局限于简单的技术上的问题了，而是能从全局上把握和设计一个比较大的系统体系结构，从内核到外层界面。可以说是&#8220;手中无剑，心中有剑&#8221;。到了这个阶段以后，能对市面上的任何软件进行剖析，并能按自己的要求进行设计，不论多复杂的软件，只要有充足的时间，也一定能设计出来。<br><br>第六阶级<br>&nbsp;&nbsp;&nbsp; 是最高的境界，达到&#8220;无招胜有招&#8221;。这时候，任何问题就纯粹变成了一个思路的问题，不是用什么代码就能表示的。也就是&#8220;手中无剑，心中也无剑&#8221;。此时，对于练功的人来说，他已不用再去学什么少林拳，只是在旁看一下少林拳的对战，就能把此拳拿来就用。这就是真正的大师级的人物。<br>&nbsp;<br>——钟遥，2007.11.1<br>++++++++++++++++++++++++++++++<br>有人在乎外表风度,有人在意内心温度,我选择内外兼修--立朗商务男装(杨晓涛 引)<br>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br>不管是内家功夫,还是外加功夫,高手们无不兼容并包,但最终所有高手倚重的往往只有一个.<br>鸠摩智算是人中龙凤,见什么学什么?强炼少林寺72项绝技,结果还是比不过乔峰的降龙十八掌.乔峰<br>自幼得到少林真传,也就是基本功很好,所以就算是只用太祖长拳,就在聚贤庄做到无人能敌.<br>段誉属于另外一种炼剑宗的极端,本来不会武功,,偏偏造化让他懂了六脉神剑,就这一个练到运用自如,就能打败很多高手.<br>所以,内外兼容并包,没有错,但是最终的方向只能有一个,否则他就是神了.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zhangjin<br>&nbsp;<br>/**************************************/<br>/*<br>感谢各位捧场，看了各位的跟帖，特别是钟遥竟然写的比主贴还长，真是敬佩敬佩。看来各位均觉得内外兼修，兼容并包是正途，之后钟遥就觉得招式已为末学，而张进就说只要选一个就好。但我以为无论是御气，还是剑法，终有尽头。就好像星际，当你人口达到上限，科技全部升满，操作已登峰造极，你练什么？到最后高手对决，恐怕拼的还是智慧、勇气和自信。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 崔刚&nbsp; 2007-11-02<br>*/<br>&nbsp;<br>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br>&nbsp;<br>我最认同钟遥兄的观点,我好像记得梁肇新也有此观点吧!<br>其次,才是我的大缪!<br>哈哈,哈哈!看来我们部门真是卧虎藏龙,大家已经登封造极,开始讨论学什么了!<br>不过这是一个监护软件的镇山之贴,此贴留名,幸甚!<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jin chuang<br>&nbsp;<br> <img src ="http://www.cppblog.com/cuigang/aggbug/38800.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:31 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38800.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>20070911备忘——传道为先</title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38798.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:29:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38798.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38798.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38798.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38798.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38798.html</trackback:ping><description><![CDATA[<br>&nbsp;<br>昨天是教师节，自离开讲台以来，再也未因此发过钱财，不觉有些怀念，所以今天就说说老师这个职业。师者，所以传道授业解惑也。我以为，昌黎先生的三种，传道为先，授业为本，解惑为末。<br>&nbsp;<br>有些事情说着容易做着难，道是什么，如何传，可以大胆的说，没人知道。所以传道变成了悟道，同学们，你们要悟。老师们是不知道什么是道，即便知道，也说不出来，即便能说出来，你也听不明白，没办法传给你。正所谓，师傅引进门，修行在个人。<br>&nbsp;<br>反过头来看企业的员工培养，面临同样的问题。通常的企业都是师徒制，师傅带徒弟。遇到一个好师傅尤为重要，当年郭靖跟着江南七怪的时候，乏见成效，而全真派的牛鼻子马钰一来，郭靖就突飞猛进，害得柯镇恶还以为我们的靖哥哥跟了梅超风走歪门邪道呢。那么，原因何在呢？教不得法也。大凡武林正派甚至泰山北斗犹如少林武当，均以内功心法见长，内力修为方为习武之根本，而招式均乃奇技淫巧，这也就是妖怪宝贝多的缘故了。马钰毕竟是聪慧之人，捡了个便宜。<br>&nbsp;<br>修习内功岂是速成之径，所以我们急功近利的想法就是告诉他怎么做，而不是为什么，岂知欲速则不达。所以企业培养人才，应该着重培养他的内力，不要只顾眼前。师傅们不管得道与否，均需谨记，传道为先，虽然你可能说不出，讲不明。<br>&nbsp;<br>&nbsp;<br> <img src ="http://www.cppblog.com/cuigang/aggbug/38798.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:29 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38798.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从马斯洛的层次需要谈起</title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38797.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:28:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38797.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38797.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38797.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38797.html</trackback:ping><description><![CDATA[<br>&nbsp;<br>因为师范生缘故，学过一阵心理学，知道马斯洛的层次需要，其大致是是说，人的需要分作5层，自高至低依次是自我实现尊重爱与归属安全生存<br>而人的需要往往是逐渐升高的，只有下一层需要得到满足，然后才会产生上一层需要。这里谈它，不是想在这里丢书包，只是想说，马斯洛说的并不全对，因为在我们生活中，不乏有越层的需要，比如饥饿贫困但是深深爱着公主的流浪汉，四处奔波隐姓埋名的共产党地下工作者，贫民窟里志存高远的年轻人，当然也有一些患者也不满足。<br>&nbsp;<br>不过有越层需要的人往往都是偏执狂，他的这种追求（我觉得已经不能称为需要了）对他而言大多成本很高。如果他努力且幸运，可能会成为一个了不起的人，否则会表现出严重的抑郁症甚至精神分裂。<br>&nbsp;<br>其实，追求软件的质量也是类似的，这些就是CMM要分级的原因，而且不允许越级评审，因为他们认为越级是危险的。大跃进式的发展是代价高昂而且危险的（以下均指一般情况，不包括特例），如果你本次项目的千行故障率是12，你想把它在下次项目降到8甚至6，基本上是属于幻想，那需要付出血的代价。<br>&nbsp;<br>赶英超美是没问题的，要用三个五年计划甚至一个五年计划来实现，这种事情只有太祖和疯子敢做。<br>&nbsp;<br><br> <img src ="http://www.cppblog.com/cuigang/aggbug/38797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:28 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谁之过</title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38796.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:27:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38796.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38796.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38796.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38796.html</trackback:ping><description><![CDATA[提高民众辨别是非的素质，始终被认为是很重要的。&#8220;有关部门&#8221;时刻提醒我们要广泛学习，要能够识别假币；能够通过外包装和IMEI串号等方式，辨认假冒伪劣商品，包括水货；要能分辨虚假广告，要具备一定的科学知识，对有毒的食品添加物能够正确判断，包括苏丹红、孔雀绿，以及像甲醛和苯类化合物；要冷静分析，不要被一些居心叵测的人利用，防范诸如&#8220;掉钱包&#8221;、&#8220;问路&#8221;等方式的欺诈；要注意犯罪分子利用短信来诈骗钱财；在ATM柜员机取款要环顾四周，确保没有可疑人员时，快速操作，注意遮挡。等等等等。<br>&nbsp;<br>我们老百姓何时变得如此专业和机敏，怪不得网上称中国遍地都是专家和特工。我们在如此多的领域具有相当专业的水平，且冷静沉着，判断准确，意志坚定，身手敏捷。这简直是一个拥有13亿邦德的国度，还不让美帝羡慕死。<br>&nbsp;<br>其实我们写代码时，常常会面临同样的问题。我认为，如果一个设计依赖于其它设计的实现，那一定是有问题的。可是往往是这样，我们需要了解太多的原理和实现，只有广泛的学习，才能写出一个能用的东西，即便是看起来不需要了解的部分，它一旦更改了实现（当然它不会通知你），你就方寸大乱，到处出错。这时候你才知道，原来你是多么的脆弱，你多么需要它，需要学习。<br>&nbsp;<br>假如我们在参数解包里存配置，而我不知道参数解包在高级中断里，也不知道存配置里使用了信号量，更不知道在高级中断里使用信号量会出错。天哪，出了问题是谁之过。<br>&nbsp;<br>就像我们不能责怪政府一样，我们也不能责怪被调用函数的实现者，有时候我们确实想当然的做了一些事情，也怪我们知识水平不够。但我们真的希望我们可以傻傻的活着，因为简单就意味着少犯错误。<br>&nbsp;<br>其实这一切归根到底都是结构的问题，就像一个不好的体制会出现很多问题一样，一个有问题的结构也会出现相应的问题。<br>&nbsp;<br>但是好的体制在哪里，是美国式的民主吗？<br>&nbsp;<br>没有好的体制，任何体制都有其问题。<br> <img src ="http://www.cppblog.com/cuigang/aggbug/38796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:27 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>凭什么！</title><link>http://www.cppblog.com/cuigang/archive/2007/12/17/38795.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Mon, 17 Dec 2007 13:26:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/17/38795.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38795.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/17/38795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38795.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38795.html</trackback:ping><description><![CDATA[<br>&nbsp;<br>相信各位牛人都写过多线程的程序（晕死，我们现在恐怕很少项目是单线程的，就算有，还有几个中断例程捣蛋，相当于多线程），必定学过什么信号量呀、事件呀、同步呀、互斥呀、死锁呀，研究过什么读者写者、生产者-消费者、哲学家就餐之类之类的。<br>&nbsp;<br>好玩吧。<br>&nbsp;<br>两个不同优先级的线程抢占一个资源，高优先级抢低优先级的，哟，我锁住。呵呵，把高的挂起，优先级反转。低优先级刚拿到一个指针，高优先级的就把它释放了（汗！）。低优先级的刚判断了一个条件，高优先级的立马把状态改变，于是低优先级下面的动作全错了。<br>&nbsp;<br>资源争夺，系统分析员不可回避的问题。但是我们往往都不够重视这个问题，而今，高端参数部分的一个硬伤就是。多个线程公用变量和状态，由此衍生了许多bug。那如何解决，终极之道不是如何协调各个线程，而是避免资源争夺，减少资源公用。<br>&nbsp;<br>一个男人一个女人，那是和谐社会；几个男人一个女人，呃，那是光棍聚会？？！！难免你争我夺呀。<br>&nbsp;<br>记住这句话，这是我的，你要用，凭什么！<br>&nbsp;<br>======<br>&nbsp;<br>ps，突然想到关于领导的问题，假如有一个皇帝，见一民妇，貌甚美，预征用之，其夫忿，告之，乃我妻，望谅。帝曰，宪法云，普天之下，莫非王土，率土之滨，莫非王臣。刁民，还有什么是你的，都是我的，拿来吧你。<br>&nbsp;<br>一个号称管理者的类往往手伸得很长，聚合在它之下的类往往没什么私人家当，跟奴隶没什么区别，&#8220;管理类&#8221;才不屑去调什么接口函数，直接就拿了人家的内部变量（虽然有时候被迫声明为public）来用，你不服，呀喝，我把你new出来的，你被我管着，还由了你了。这样的代码不少见呀，当然生活中更多。<br>&nbsp;<br>再多说两句：<br>1 私人财产神圣不可侵犯。<br>2 安得广厦千万间，大庇天下寒士俱欢颜，一人一套（唉，房子呀）。<br> <img src ="http://www.cppblog.com/cuigang/aggbug/38795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-17 21:26 <a href="http://www.cppblog.com/cuigang/archive/2007/12/17/38795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>美貌与智慧兼备 </title><link>http://www.cppblog.com/cuigang/archive/2007/12/14/38468.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Thu, 13 Dec 2007 16:10:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/14/38468.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38468.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/14/38468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38468.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38468.html</trackback:ping><description><![CDATA[<br>最近在网上看了些文章，说这个相貌俊朗的人大多内心善良，而模样丑恶的一般都不干什么好事。如果是你天生丑陋，善事做的多了，自然也眉清目秀了，而若你本身虽美貌俊秀，亏心事干久了，相貌中便也透出一股阴气，冷飕飕让人寒颤。想想虽无法解释，但也确有道理，放眼看看各位看官，自然都是正人君子，故齐刷刷一片帅哥美女，偶尔有几个惨点的，但神态中彰显高贵，一副气宇轩昂的样子，那相貌中的不足也全然忽略了。<br>&nbsp;<br>古人云：相由心生。观相之术流传至今必然有一定的道理。也许相貌不能决定你的命运，但它必然记录你的历史，就像年轮一样。<br>&nbsp;<br>昨与莫君闲谈代码之美感，均觉得代码写的好不好，不宜细看，可以远观。若错落有致，此起彼伏，时而悠长，时而短促，大多是写的比较好的。反而杂乱无章，参差不齐，格式潦草，一般都是写的差的。虽然代码的排版格式，命名注释的风格与代码本身的质量无关。就像美貌和智慧本无必然联系，但一般而言，长得漂亮的水果大都好吃，那些七扭八歪的常常发育不良。<br>&nbsp;<br>故云，貌美者未必智慧，然美貌与智慧常兼备。<br>&nbsp;<br>---------------------------------------------------------------<br>&nbsp;<br>有一定道理,代码首先是给人读的,就算设计上还不是很合理,但是排版和注释能起到一定的抵消作用.<br>白居易写诗首先给老妇人读,如果老妇人听明白了,他就认为诗写的完美了.简单是诗的第一个台阶.<br>代码一样,首先需有吸引人阅读的魅力,让别人看进去,别人才能进一步和你交流设计上的正邪,流程上的优劣.如果一大堆陌生的逻辑,没有任何注释,对别人就是一种心里上的伤害.如果这种伤害太多,谈什么协作,团队,统统是扯淡.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>--------------------------------------------------<br>张进<img src ="http://www.cppblog.com/cuigang/aggbug/38468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-14 00:10 <a href="http://www.cppblog.com/cuigang/archive/2007/12/14/38468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的黑客情结</title><link>http://www.cppblog.com/cuigang/archive/2007/12/14/38466.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Thu, 13 Dec 2007 16:09:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/14/38466.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38466.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/14/38466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38466.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38466.html</trackback:ping><description><![CDATA[&nbsp;<br>以前有很多博彩类型的街机，象什么&#8220;电子基盘&#8221;、&#8220;龙虎斗&#8221;，&#8220;老虎机&#8221;、&#8220;熊猫机&#8221;，还有一些推硬币的，拨香烟的。我有一个朋友比较热衷这些，总希望从里面赚取一点收益。大家可想而知，玩这些必定是亏本的，因为老板是要赚钱的。但我这位朋友最终竟然从中赚了不少，原因是在不断的尝试中，他找到了这些东西的bug。<br>&nbsp;<br>不知道大家以前有没有盗打过电话，当时我们对电话通讯还是研究了很久，包括电信（以前叫邮局）的业务也进行了研究，找到漏洞。之后有好几年打电话都不花钱，然后就认识了很多女孩子。<br>&nbsp;<br>在单机时代，有些游戏很难，我们总想着投机取巧。为什么它能把游戏进度存下来？存档文件里面有什么？经过几次尝试，我们终于用dos下的debug程序，把自己改成等级999，拥有所有装备和物品。<br>&nbsp;<br>但是不管怎么说，破解是困难的。如果你妄想破解一个256位密钥的DES加密，基本死几遍也不可能。那怎么办呢？答案是&#8220;社会工程学&#8221;。<br>&nbsp;<br>谈到黑客，不能不说凯文&#8226;米特尼克，在若干年后，我看到了他的《The Art of Deception》这本书，不觉惊呼，英雄所见略同。当我给sina的邮箱管理员写了一封诚恳的Email，得到了某人的密码时，我就深深的领悟了这点。<br>&nbsp;<br>一个系统的安全取决于人，而不是技术。<br>&nbsp;<br>&nbsp;<img src ="http://www.cppblog.com/cuigang/aggbug/38466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-14 00:09 <a href="http://www.cppblog.com/cuigang/archive/2007/12/14/38466.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>始作俑者</title><link>http://www.cppblog.com/cuigang/archive/2007/12/14/38467.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Thu, 13 Dec 2007 16:09:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/14/38467.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38467.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/14/38467.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38467.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38467.html</trackback:ping><description><![CDATA[&nbsp;<br>这个成语大致是指那些第一个干坏事的人，然而始作俑者未必晓得自己做了件坏事，无心做了件错事，背了几千年骂名，是不是很冤枉呢？其实一点都不。<br>&nbsp;<br>做软件和其它的行业有些不同，就是维护的成本很大，维护基本上是软件的主要工作，一锤子买卖的很少，加功能，更改，移植，兼容等等等等，无一不对软件的可维护性提出更高的要求，而这一切往往在开始就决定了。置身事外的人往往理解不了这些，改个这东西，有什么难的，我们的xxx都用了这么久了，肯定没问题，等等。<br>&nbsp;<br>千载尤行秦制度，祖宗之法已从公元前220年沿袭两千余年，却仍轰然而毁。对这个制度，两千年来不断的变化，修正，弥补，如果计算成本的话，不知道是多么大的一个天文数字。而结果只不过是比欧洲落后了几百年，丧失了工业革命的机会。<br>&nbsp;<br>对于生孩子这件事情，男人们其实只要努一点点力就好了，女人却要承受280天的重负以及随之的巨大痛楚，而这一切并没有结束，女人们要放弃自己的生活，相夫教子，而男人只要甩一点奶粉钱就不管了，男人怎么能明白其中的艰辛呢。<br>&nbsp;<br>&nbsp;<br>&nbsp;<img src ="http://www.cppblog.com/cuigang/aggbug/38467.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-14 00:09 <a href="http://www.cppblog.com/cuigang/archive/2007/12/14/38467.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hello, world!</title><link>http://www.cppblog.com/cuigang/archive/2007/12/13/38396.html</link><dc:creator>cuigang</dc:creator><author>cuigang</author><pubDate>Thu, 13 Dec 2007 02:16:00 GMT</pubDate><guid>http://www.cppblog.com/cuigang/archive/2007/12/13/38396.html</guid><wfw:comment>http://www.cppblog.com/cuigang/comments/38396.html</wfw:comment><comments>http://www.cppblog.com/cuigang/archive/2007/12/13/38396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cuigang/comments/commentRss/38396.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cuigang/services/trackbacks/38396.html</trackback:ping><description><![CDATA[<p><font face="Courier new, courier, mono" size="-1"></font>&nbsp;</p>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #008080;">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"><span style="color: #000000;">#include&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">stdio</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;main()<br></span><span style="color: #008080;">3</span><span style="color: #000000;"><img id="Codehighlighter1_29_63_Open_Image" onclick="this.style.display='none'; codehighlighter1_29_63_open_text.style.display="'none';" codehighlighter1_29_63_closed_image.style.display="'inline';" codehighlighter1_29_63_closed_text.style.display="'inline';"" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_29_63_Closed_Image" style="display: none;" onclick="this.style.display='none'; codehighlighter1_29_63_closed_text.style.display="'none';" codehighlighter1_29_63_open_image.style.display="'inline';" codehighlighter1_29_63_open_text.style.display="'inline';"" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_29_63_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img src="http://www.cppblog.com/Images/dot.gif"></span><span id="Codehighlighter1_29_63_Open_Text"><span style="color: #000000;">{<br></span><span style="color: #008080;">4</span><span style="color: #000000;"><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">Hello,&nbsp;world!\n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #008080;">5</span><span style="color: #000000;"><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top">}</span></span></div><img src ="http://www.cppblog.com/cuigang/aggbug/38396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cuigang/" target="_blank">cuigang</a> 2007-12-13 10:16 <a href="http://www.cppblog.com/cuigang/archive/2007/12/13/38396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>