孟岩ID:myan
1629382次访问,排名8好友1人,关注者64
总是在思考存在的问题
[加为好友] [即时聊天] [发私信]
myan的文章
原创 147 篇
翻译 0 篇
转载 3 篇
评论 5244 篇
最近评论
chengen81284493:很专业的一篇文章 非常的好 受益匪浅
jksharp:看的迷糊,我才做了一年的程序员,啥都学,我也很专业做的一门,难啊,老板啥都要我做,想写点程序都难,唉,今天要你配下服务器,明天叫你修改下数据库的数据,难
rawa459:补充几句,lua使用一个c语言的子集实现,没有发现枚举(较新版本的C才支持)、动态数组(C99才支持)等,就是这样一个c语言实现了足够强大的功能,我觉得比不上作者,作者是大学教授,并且有一个工作小组。什么时候国人学会平静对待C语言,不要那么浮躁不要那么张扬我们的教授级别的人物也能写出这样的东西,个人不喜欢C++,C和C++从最新的标准看已经决裂。C能够直接实现面向对象编程了,加上一些辅助库可……
rawa459:http://www.codingnow.com/2000/download/The%20Implementation%20of%20Lua5.0.pdf
看看此书,就知道lua的过人之处,本人也在写编译器,始终不敢碰基于寄存器的虚拟机,还是传统的基于堆栈的虚拟机。一个新语言,一个解释器不是很难,关键你要有过人之处,lua的函数闭包、协程、基于寄存器的虚拟机、关系表都是它的过人之处……
rawa459:http://www.codingnow.com/2000/download/The%20Implementation%20of%20Lua5.0.pdf
看看此书,就知道lua的过人之处,本人也在写编译器,始终不敢碰基于寄存器的虚拟机,还是传统的基于堆栈的虚拟机。一个新语言,一个解释器不是很难,关键你要有过人之处,lua的函数闭包、协程、基于堆栈的虚拟机、关系表都是它的过人之处,……
文章分类
收藏
    相册
    测试
    友情链接
    老赵的博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 变更是万恶之源?收藏

    新一篇: 又买美国飞机了,七十二亿美金 | 旧一篇: 动静兼济总相宜——Java与.NET之外的语言视界

    博文视点的新书《超越传统的软件开发》是一本好书,很少有软件工程方法学类的著作能够让我读起来如此畅快。三位作者说他们是在针对中国的实际介绍XP,颇有把“放之四海而皆准的真理与中国的具体实际相结合”的豪情。我为这样的努力喝彩。

    好书的一个优点是能够重新让人变得敏感。我不知道多少回看到类似“频繁的需求变更导致软件开发困难”的叙述,已经变得麻木起来。但是当看到这本书上重复这一论述的时候,被前面的流畅论述疏通了的大脑突然敏感起来,怀疑涌上了我的心头。

    几乎所有的软件工程方法学多把频繁变化的需求当作最可怕的魔鬼,集中大部分火力来攻击这头巨兽。既然这些新的方法和思想几乎都来自美国,我也许应该相信美国的软件开发中,需求的变更真的是一个严峻的问题,不过在中国是不是这样,我认为值得去分析。

    要去分析,花一些精力,做一些调查研究,也许分析的结果,此岸同彼岸,变更真的就是中美两国软件人民共同面临的恶疾,那很好,我们就老老实实地好好学习天天天向上。但也可能不完全是如此,也许中国的软件产业有自己的独特的问题。如果真的是这样,那么我们是不是应该像当年的毛泽东一样,根据我们自己的问题来探索我们自己的解决方案呢?

    我没有调查研究,但我设想这样一个场景。如果国家要发展自己的CAD软件,拨出经费请你来照葫芦画瓢,完全重写一个AutoCAD,不用创新,不提任何新的需求,只是让你在有效的时间、充沛但有限的资源之下完完全全地重写一个AutoCAD,你做不做得到?

    这样一个虚拟场景中,需求被冻结,变更被阻隔,作为开发者,你要面临的仅仅是纯粹的技术和工程挑战,有多少人有信心战而胜之?如果我们做不到,那么原因是什么?

    我得想想。

    发表于 @ 2005年01月20日 19:29:00|评论(loading...)|编辑

    新一篇: 又买美国飞机了,七十二亿美金 | 旧一篇: 动静兼济总相宜——Java与.NET之外的语言视界

    评论

    #Justin Shen 发表于2005-01-21 12:50:00  IP: 221.137.114.*
    说一些我个人的看法。XP所要拥抱的变化,不光是需求变化。

    开发一个大的项目,即使需求明确且不发生变化,仍然需要多次迭代开发,每次进入新的迭代时,加入新的功能(即使是已经很早就明确了的需求),很可能会导致现有软件构架的改变。这就需要我们找到一个可行的办法来应付这种变化。重构、测试先行、每日构建都是为此而设。

    当然如果你说你可以在开始开发前就完全想清楚整个软件的设计结构,并且保证不出纰漏,做到一经设计无须更改,那么或许可以不用面对任何变化,只要单纯的把设计转为代码就可以了。但这在我看来多少有点不现实。
    #firingme 发表于2005-01-21 21:28:00  IP: 219.129.60.*
    把国内的大牛们召集到一起还是有可能的。可是大牛太少,又天南地北,呵呵……金山他们做的事情不就是原封不动抄Word么?金山的条件和myan设想的也差不多,结果还是抄不出Word的水平,就这样了。
    #小四 发表于2005-01-22 12:10:00  IP: 218.88.164.*
    变更是客观,拥不拥抱是主观!
    #johnkuang 发表于2005-01-22 18:23:00  IP: 218.80.194.*
    我觉得马斯洛的“需求层次理论”可以用来解决您的疑问。他的理论认为人的需求可以分为五类:生理需求、安全需求、社交需求、尊重需求和自我实现需求。并且有这样一些假设:

      * 已经满足的需求,不再是激励因素。人们总是在力图满足某种需求,一旦一种需求得到满足,就会有另一种需要取而代之。
      * 大多数人的需要结构很复杂,无论何时都有许多需求影响行为。
      * 一般来说,只有在较低层次的需求得到满足之后,较高层次的需求才会有足够的活力驱动行为。
      * 满足较高层次需求的途径多于满足较低层次需求的途径。

    可以认为软件的实现也是一个满足需求的过程,有几层需求:1。能跑起来2。跑的很稳3。很优雅4。到山上也能跑。。。。我是瞎说的,但绝对存在这样一个需求层次结构。如果用上面第三点就可以解释为什么XP在中国应该不一样。
    #外行 发表于2005-01-22 14:04:00  IP: 222.33.96.*
    呵呵呵,俺觉得严重需要这类思考。
    #anonymous 发表于2005-01-23 13:21:00  IP: 211.80.44.*
    你的文章也不按类别组织一下
    看得真累
    #ralph623 发表于2005-01-25 09:22:00  IP: 211.72.108.*
    在比较大的软件项目里面,需求不变化是不太可能的。毕竟软件开发的终极目的是解决用户的问题,而实际问题本身就具有复杂性和变化性。所以我觉得对于变化,还是应该有欢迎的态度。当然如果对于需求的变化没有有效的管理,又会造成整个流程的混乱,反而不利于解决用户的问题。

    我们对于用户的需求变化是用sign-off的contract来管理,如果一份需求已经sign-off了,对于其的变更就要通过用户和实施方重新开会来达成一致。

    其实需求的管理往往是对于项目经理的一个性格考验。我记得很清楚,我们的一位项目经理说过,她以前在普华的时候,对于用户的需求变化一律接受,但是这样往往造成手下团队的不满;而到了现在的公司,对于用户的需求变化很谨慎,然而这样又有降低用户满意度的风险。要知道这两样都是决定一个项目经理工作成败的关键因素,这之间的权衡恐怕更多的是一种艺术和外交手腕的结合。
    #最爱 发表于2005-01-26 13:51:00  IP: 60.164.15.*
    最爱看孟编的文章了!!不管是什么,总能给人些思考!!
    #无人能懂 发表于2005-01-26 16:08:00  IP: 218.80.198.*
    垃圾
    #anonymous 发表于2005-01-28 18:09:00  IP: 218.189.200.*
    http://www.dearbook.com.cn/book/viewbook.aspx?pno=TS0028348
    #anonymous 发表于2005-01-28 18:10:00  IP: 218.189.200.*
    http://www.dearbook.com.cn/book/viewbook.aspx?pno=TS0028348
    #dengyl 发表于2005-01-31 13:29:00  IP: 221.232.245.*
    我蛮同意Justin Shen的话,变更不仅仅来自客户,也来自自己。拥抱它,在编码过程中,让代码不断的修正设计。通过重构和单元测试,让代码来告诉我们一个比较合适的设计方案。也避免了过渡设计。当然,在孟岩兄面前讲这番话,我真觉得是班门弄斧了。呵呵,Bob大叔还是经你介绍,才认识的。
    #westxx 发表于2005-04-08 22:57:00  IP: 222.43.34.*
    以前还以为不能在初期把什么东西都规划好是我水平太差,原来大虾们也做不到,看来书本上讲那套软件工程理论是有些过时了,还得多多实践才是硬道理,呵呵
    #宋强 发表于2005-06-14 16:44:00  IP: 61.186.252.*
    我觉得其实xp是一个方法论,其实他是进行项目管理、架构设计的一种工作方法。
    中国的软件开发除了方法论欠缺,当然也欠缺其他方面,其中有模型设计、架构设计这些硬指标,目前不是改善一个方面就能改善我们的软件开发质量,必须齐头并进。老美的产品设计、风险评估、测试相对来说都比较完善,而且纪律很严明,但我们大部分还是作坊,因此不行。
    #清风雨 发表于2005-06-24 12:30:00  IP: 61.186.252.*
    宋强兄有道理。很少听到于我心的声音了。 每次都是被鄙视,唉!可怜啊!....... :}
    #corner 发表于2005-07-03 23:56:00  IP: 61.186.252.*
    我没有看过,myan说的那本书,不过个人觉得,作这样的尝试还是值得的。
    以我的看法是:一种方法总是难逃在特定环境下的定制,这是为了应对“亚文化群体”,此时此刻,“方法”就不得不有所退让,以此换得效率。所以,需求是应人的行为而变化,因此需要具有较大变更包容度的初期设计,同时需要明确的结构划分,以便并行开发,更需要进度的及时反馈。这意味着每个个体要互相学习、沟通。接下来就看是否有足够的“集体智慧”来预期、包容变化了。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 孟岩