waterinfire

“待伙综合症“

   如果在日常的工作沟通和家庭生活中别人让你做一件举手之劳小事,而你经常说“待伙”的话。恭喜你,你得了“待伙综合症”。
   
   该症的症状表现如下,对于举手之劳的事的第一反应是“待伙”,比如“我待伙把文档发给你”,“我待伙帮你做”,“我待伙...”。

   在鄙人的日常生活中,常常需要和项目组内兄弟沟通互动,在这之中以下的场景是经常发生的:

   “XXX,把xxx文档发给我一下,有个客户需要。”

   “好的,我待伙就发给你。”

   时间一分一秒过去了,...

   到了第二天上班,“XXX,昨天的东西发给我了吗?”

   你猜那哥们有什么反应,就我目前经验而言,主要有以下几种类型:

   1、木知木觉型
   “什么东西,我怎么不知道,好像没跟我说过嘛!”

   2、知错就改型
   “哦,就发”,后来他确实发了。

   3、屡犯屡错型
   “哦,待伙发”,可是到了下班也没见到文档。

   平时我们编程时都会用到lazy创建对象的习惯用法,该用法可以加快才程序启动速度和减少资源开销,比如以下的c++类例子片断:

   class APP
   {
   private:
      Resource*  resource;

   public:

      APP():resource(NULL){}   //待伙创建resource

      int doSth()
      {
         if(this->resource == NULL)   //该函数必须要利用resource
         {
            this->resource = Resource();
         }
         
        // do sth with resource

      }
   }

   以上的 例子通过“待伙”确实可是获得不少好处,但是在我们平时的工作沟通和家庭生活时,待伙可不是个好习惯。

   平时在家里,爸妈也会安排我做些事情,这些事情对我来说一般都是举手之劳,可是我也偶犯“待伙综合症”。

   案例一:
   “XXX,把厨房地面上的水用拖把拖一下,我先去买菜了。”
   “待伙我就去”。
   !@#$%^&*
   “XXX,怎么回事,我都出去一个多小时,你既然没有拖,真是的。”

   案例二:
   “XXX,帮我的手机充一下电。”
   “待伙”。
     ...
   “怎么回事,我不是叫你充电吗,你看,就剩一格电了,我今天约了朋友,要用手机联系,你说怎么办吧”,第二天上午气势汹汹的夫人向我咆哮着。
   “我,我,我,...”

      “待伙综合症”害人害己,如果你希望治疗它,做法其实非常简单,那就是:
      
      马上就做,现在就做,just do it!

      有兴趣的读者,可以参考阅读:http://www.dirtsimple.org/2006/07/hidden-meaning-of-just-do-it.html。
posted @ 2007-01-15 21:43 程序员看世界 阅读(991) | 评论 (0) | 编辑 收藏
 
越狱与RUP(一)
   最近因同事的“怂恿”,我抽空看了看流行的美国电视剧《越狱》。

   《越狱》故事其实很简单,就说一个年轻人故意入狱,目的是营救他无辜的哥哥,可是强势的官方力量又希望杀死他的哥哥,而在守候森严的监狱中逃脱却是不易,故事就这样展开了,...

   对于具体的情节和人物分析,本人就不在此展开说明,有兴趣的读者可以到越狱中文网
http://www.prisonbreak.cn 以及越狱论坛上去讨论 http://bbs.3e-online.com/forum-72-1.html 。

   在此我想从RUP的角度去分析《越狱》中牛人
Michael Scofield在越狱中的心路历程。

   Michael Scofield和其兄
Lincoln Burrows有迥然不同的性格,Scofield冷静敏感重理性分析,Burrows果敢、冲动、具男子气概,他们俩因他们父亲的特殊职业而过着有别于正常人的生活。

   我们可以从Burrows冤枉入狱开始进行分析。Scofield到监狱看望Burrows时的心情应该是非常失望的,因为他当时觉得他有这么个兄弟是丢脸的。后来,
Veronica和Scofield说他的生活和大学学费是其兄Burrows支付,如果没有当时那笔钱,Scofield根本不可能有现在的优裕生活,而Burrows也不会入狱。从那时开始,Scofield就已经开始感情上接受其兄。后来,Burrows和Scofield说他将由xxx监狱转入Fox River监狱。

   Fox River监狱,这句话就像一颗石子抛进Scofield的心湖中,引起了其“煽动”的涟漪,而这涟漪就像初步的“越狱”构想,虽然此时此构想非常小、非常模糊,但是这是剧中剧情发展关键的“导火线”。

   我们可以把Scofield营救其兄Burrows越狱成功看成一个我们程序员经历过的或正经历的“死亡之旅”项目。

  
 初始阶段
   在《越狱》中就是以上说明的涟漪引起的。它比较模糊,但它确立了“项目”的范围和目的,那就是要把其兄Burrows从Fox监狱中救出,他当然知道从Fox救出其兄不是那么容易,如果就不出,就要面临自己终生监禁的“项目”风险。不过,在这时有什么具体的“项目”风险,他不是非常清楚的。

   
细化阶段
   Scofield做出许多“项目”规划:

   1、收集信息
      1)到公司实施过Fox River的文件库中收集了其施工图
      2)收集了监狱中主要他的犯人资料
      3)收集了狱警和狱长的资料
      4)收集了女医生
Sara的资料

   2、信息整理和分析
      Scofield把收集到的信息打印出来张贴在其墙上进行“系统级分析”,监狱中有几条下水道,有什么走向,xxx人和yyy人有什么关系,...

   3、设计阶段
   经过系统分析,他设计出了一张监狱地图和未来越狱计划的“解决方案”。
   
   “宇宙中不变的事未有变化本身”,Scofield深知其理,因此Scofield设计A计划,B计划,...。计划 不一定会成功,多个计划总归是好事,特别在这种生死攸关的场合。

    由于Fox监狱的地下设施比较复杂,凭人脑是非常难记住的,而入狱时肯定是“赤裸裸”的入狱的,根本不可能带纸张进去,那怎么办?

   偶然的机会,Scofield看到一个纹身的女孩,Scofield心中一亮,于是我们在剧中看到了Scofield身上比较奇特而且不会引起别人怀疑的纹身。

   另外我想 Scofielb还用到了项目管理中的倒推计划好,他假设自己已经监狱,在监狱中要具备哪些东东呢?

   1)计时手表
   2)绳子(可被塞入西装中)
   3)...

   而这些东西怎么可能带入监狱呢,Scofield想到可以通过潜入监狱管道,然后到犯人储藏室取回。

   另外Scofield又遇到一个难题,潜入管道后要进入储藏室,而进入储藏室必须要有身份卡。Fox工程是公司实施的,拿到身份卡不是难事,难就难在怎么把身份卡带入监狱呢?犯人的物品,狱警要进行严格的检查,若发现有信用卡或什么卡之类的,肯定没收,怎么办?就像我们编程时,发现左也不行,右也不行,怎么也不行,似乎要“投降”了。记得哲人说过,“困难问题的解决不能只停留在原有的问题空间”,也就是说解决不了的问题几乎都可以通过间接层获得解决方案。
   自己带入不了,那只有靠别人了。靠谁呢?平时的监狱探望审查非常严,没戏!有了,Scofield发现狱中有夫妻探望时间,其间夫妻间可有私密的肌肤接触。可Scofield没有妻子,怎么办?事情就是这样一层一层展开推演的,偶然的机会Scofield遇到一位风尘女子并在其被人欺负的关键节点挽救了她。为了感激Scofield,风尘女子答应Scofield,为他做一件事情。而这件事情就是,若Scofield入狱请女子以妻子身份探狱并为其送来“信用卡”,而这张“信用卡”就是被Scofield将来要用到的身份卡。

   从以上的分析中,我们可以看到Scofield分析问题的缜密性。这一点非常值得我们程序员学习,其中值得一提的就是“为未来编程”,通过预见未来,行动我们的现在。

   未来的路还很长,其中会发生很多变数,这一点Scofield非常清楚。那么Scofield将怎样具体实施这个“项目”,将在下篇分解。

   
 


   
posted @ 2007-01-11 22:06 程序员看世界 阅读(1148) | 评论 (3) | 编辑 收藏
 
发现新python服务平台
今天冲浪时发现一个看起来不错的python服务平台crusader,据介绍非常不错.
posted @ 2007-01-11 15:40 程序员看世界 阅读(903) | 评论 (1) | 编辑 收藏
 
2006年回顾(二)—— 代码要"拼凑"
   一级NB程序员编写伟大的代码。

   二级NB程序员“偷借”伟大的代码。

   超级NB程序员组合伟大的代码。

   汉朝开国大帝刘邦曾说过,““论运筹帷幄之中,决胜于千里之外,我不如张良;论抚慰百姓、供应粮草,我又不如萧何;论领兵百万,决战沙场,百战百胜,我不如韩信。可是,我能做到知人善用,发挥他们的才干,这才是我们取胜的真正原因。至于项羽,他只有范增一个人可用,但又对他猜疑,这是他最终失败的原因。”

   
posted @ 2007-01-10 22:11 程序员看世界 阅读(223) | 评论 (0) | 编辑 收藏
 
2006年回顾(一)——文档需动脑
   新年已过几天,自己掐指一算,眨眼间工作快六载。时间过得真快,该静下心来对自己进行总结总结,反省反省了。

   作为程序员中的一员,鄙人对新技术、新方法有着狂热的激情,每天都希望自己多看一些资料和多编一些程序,有时自个颇以陶醉于比特世界而自鸣得意。但我们的生活毕竟不是单一的,我们毕竟要在团队中生活,要在“死亡之旅”项目中挣扎前行,在这之中对我造成折磨的一件事,那就是写文档。

   写文档,谁都会写,这句话没错。就像每个人都觉得自己可以当皇帝一样,但不见得就可以做个明君。

   每当项目中需要什么文档时,鄙人就三下五除二把它“拿下”了,自我感觉自己已经把该写的东西都写全了。但很多时候都是事与愿违,每当进行文档评审或别人参看文档时都会提很多意见,比如:
   1)文档没有体系结构
   2)前后不呼应
   3)没有层次
   4)...

   最严重的评论是“不知所云”,我拷,我可是花了整整一天时间,!@#$%^&。

   举个例子,有次领导让我写篇调查文档,针对xxx厂中的信息系统中存在的一些问题进行分析并提出改造方案。接到任务后,没经过仔细思考,就开始埋头写起:
   第一段列出了目前存在的所有信息系统,
      系统A
      系统B
      系统C
      系统D
      系统...
      系统Z

   第二段列出了它们存在的问题,
      问题a
      问题b
      问题c
      问题...
      问题z

   第三段进行了问题分析
   第四段给出了解决对策,
      对策1
      对策2
      对策3
      ...
      对策n

   在会上领导进行了委婉地批评,说文档就像流水账一样,不成体系,没有归纳,没有总结。其中的系统、问题和解决对策就像一盘散沙,给读者的阅读带来极大的困难。经过“批评指正”,我意识到一篇文档要写出结构、写出思路、写出层次,读者才会看下去,不然就像我原来写的文章那样,文档中一大堆信息,谁容易明白,可能时间长了自己也不明白。

   经过文档“重构”,我对问题进行了归纳和总结,比如:
   
   第一段中的信息系统,我根据功能级别把它分类成管理决策层(L4),生产管理层(L3),过程控制(L2),电器仪表层(L1),又根据建设时间把它分成了已建系统(又分成未改造和正申请改造)和在建系统。通过把信息分析,进行归纳之后,信息的理解和消化将变得轻松。

   对问题我也是依葫芦画瓢,把问题归纳成系统问题、兼容性、扩展性、管理方便性进行了说明。对解决方案进行了从重要性、操作性和阶段性进行了说明。

   经过“重构”,文档得到了领导的认可。自己在文档的编写方法有了一次小飞跃。

   写文档不难,写好文档不易。就像我们程序员的程序一样,一定要有好的体系结构,要善于利用设计模式以及惯用法等。对比于文档,我个人觉得,

      文档                                                      代码

   金字塔原理               <——>              体系结构

   归类、排比句           <——>              惯用法 

   许多程序设计中的思想都可以用于文档编写,比如:

   1)用例驱动,在文档编写中,我们可以关心文档的用户是谁,他们对这篇文档都有什么期望,...。
     
   2)以体系结构为中心,在文档编写中我们可以按照“金字塔原理”的思想为中心展开我们的编写工作。

   3)迭代和增量为过程,在文档编写中,我们可以增量进行编写工作,然后休息一下,把自己换成文档用户的角色通读一下文档,把不满之处记于纸上,然后在把修改意见放入下一轮迭代编写中。

   最后,以领导常说的一句话共勉,“凡事要用心”。不过我个人要再添一句,“到时需动脑”,:-)

   
(注:《金字塔原理》是一本关于写作的书,非常不错,值得拥有)
posted @ 2007-01-10 21:40 程序员看世界 阅读(809) | 评论 (0) | 编辑 收藏
 
UML和易经
UML和易经似乎搭不上边,可是易经乃群经之首,我们也可以把UML当成一“经”,这样它们两就有关系了。

UML中包含事物、关系和图,比如事物中有类、接口、构件等,关系中依赖、关联和泛化等,图有用例图、类图、部署图、交互图等。

对应于易经,其中有事物(爻),关系(乘、承、比、应、往来、错综互杂等),图(先天八卦、后天八卦等)。

在图书《UML用户指南》中,作者说“好的图使得正在开发的系统易于理解和处理。选择一组正确的图来对系统进行建模,能促使对系统提出正确的问题,并有助于表名决策的含义“。

就像阐述万物道理的易经一样,对于五光十色的大千世界,易经进行了抽象,把万事万物分成了64类,并对每个类进行了解释。对于后世的我们可以通过祖先留给我们的图、文字去思考我们的人生和生活。

posted @ 2007-01-10 12:38 程序员看世界 阅读(218) | 评论 (1) | 编辑 收藏
 
程序在生活中

   “道”在生活中,同样“程序”亦在生活中。

      在我们程序员编写的代码中,存在大量如下的代码类型:

      1)分支

      2)循环

      3)递归

      4)并发


      在其下来的blog中,我将从生活的例子来说明以上的代码类型。


   

posted @ 2007-01-09 21:04 程序员看世界 阅读(729) | 评论 (1) | 编辑 收藏
 
仅列出标题
共2页: 1 2 
 
<2007年4月>
日一二三四五六
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

 导航

  • C++博客
  • 首页
  • 发新随笔
  • 发新文章
  • 联系
  • 聚合
  • 管理

 统计

  • 随笔: 17
  • 文章: 1
  • 评论: 25
  • 引用: 0

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(4)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • 程序生活(13) (rss)
  • 集成通信(1) (rss)

随笔档案

  • 2007年5月 (1)
  • 2007年4月 (1)
  • 2007年3月 (7)
  • 2007年2月 (1)
  • 2007年1月 (7)

文章档案

  • 2007年1月 (1)

收藏夹

  • 思考者(16) (rss)

搜索

  •  

最新评论

  • 1. re: 学习网络编程的十个步骤[未登录]
  • 但是这样不就是用Python做网络编程了吗?
  • --a
  • 2. re: 学习网络编程的十个步骤[未登录]
  • <big style="font-size=100px;">well done</big>
  • --d
  • 3. re: 学习网络编程的十个步骤[未登录]
  • 大师赠言,受教啦
  • --sky
  • 4. re: 高速学习socket编程的10个步骤
  • I 服了 YOU
  • --safd
  • 5. re: 高速学习socket编程的10个步骤
  • 败了!!!!
  • --~·~

阅读排行榜

  • 1. 学习网络编程的十个步骤(31954)
  • 2. 高速学习socket编程的10个步骤(7280)
  • 3. twisted的学习资料(2547)
  • 4. 超级电子书基地(1441)
  • 5. 怎样把代码从unix移植到windows(1330)

评论排行榜

  • 1. 学习网络编程的十个步骤(8)
  • 2. 高速学习socket编程的10个步骤(4)
  • 3. 从“模式转变”说起?(3)
  • 4. 越狱与RUP(一)(3)
  • 5. 超级电子书基地(2)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 程序员看世界