论坛首页 综合技术论坛

向大家推荐一文《源代码就是设计》

浏览 43847 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-02-10  
你知道皇帝的新衣吗?如果大家都在扯谎,你一个人说实话不是很危险?
0 请登录后投票
   发表时间:2004-02-10  
哈哈,你真是有些不会说话了。
你就把一切都强调非常重要,比如由领导亲自抓才可以,也只有领导才可以知道轻重缓急,也只有丫才可以决策。
先抬丫高高的,最后就好办了。
0 请登录后投票
   发表时间:2004-02-10  
呵呵,o6z 就是高啊。先说些他爱听的,投其所好,然后再让他沿着你的思路走。
很多时候要说服别人先要了解他的关切是什么,先顺着他的思路走,然后再想办法引导他,让他感觉道理是自己明白的(gcd 是永远正确的)。
总之,说话难听的人是没人爱的,那怕真是良药也要多放些糖。
0 请登录后投票
   发表时间:2004-02-11  
我们公司里有过无数次软件工程、软件过程、设计方法之类的讨论,我觉得这种讨论不能毫无休止的进行下去。之所以总是觉得需要讨论是因为每个人都觉得组织内部有问题,但是却不知道如何去解决,还指望别人有办法解决,至少可以通过讨论来解决。经过激烈的争吵以后,好像也找到了一些办法,但是过了一段时间以后发现,团队还是在走以前的老路,根本没有什么实质的变化。我想每个人的思想都有一定的局限性,一个管理团队同样也会有局限性,讨论过几次以后,在重复同样的会议几乎不会有什么积极的意义,这时如果看到开发组仍然存在很多问题,就必须引入新鲜的思想,从团队外部寻找真正可以帮的上忙的人。而且,网络、电话的交流是远远不够的,必须和真人面对面的坐在一起,相互之间才能够真正的了解,这样团队才能够真正吸收先进的思想,从而提高管理素质和开发效率。
0 请登录后投票
   发表时间:2004-02-11  
引用
必须和真人面对面的坐在一起,相互之间才能够真正的了解,这样团队才能够真正吸收先进的思想,从而提高管理素质和开发效率。


也做过这种尝试,请了一个人过来灌输了些软件工程,CMM什么的,当时听得一头雾水,现在回想起来,他提及的一些东西我现在勉强能够理解,因此,正如你上文所说,尽管昨天又讨论了一下午,却也没有得出什么实质性的结果出来,因此我打算借用他的一些东西,尽快得出一个具体的规范出来,我目前也不想再投入更多的精力来做这些无休止的讨论和总结,在技术还没有达到一定高度的时候,想通过加强管理来提高产品质量,提高效率,我想也不会收到什么效果的,你认为呢?
0 请登录后投票
   发表时间:2004-02-11  
在软件开发的团队当中,技术的水平和管理的水平之间有一定的联系,但也不能说技术不好管理也一定做不好。找个好的参谋不容易,但是在管理水平停滞不前的时候,外援是一定要找的,一个不行就再找一个,当然自己也要善于快速的吸收才行。每个人以至于整个团队都要保持开放的心态,持续的改进是成功的必经之路。
0 请登录后投票
   发表时间:2004-02-11  
我(开发经理)在为公司搞CMM2文档的时候可真是吃了不少苦,最后感觉对自己有用的东西不多,只有一个用例规约可以对编码起到作用,其它的嘛,实在是。。。而且最讨厌就是评审,浪费时间!!!
0 请登录后投票
   发表时间:2004-02-11  
muziq 写道
我们公司里有过无数次软件工程、软件过程、设计方法之类的讨论,我觉得这种讨论不能毫无休止的进行下去。之所以总是觉得需要讨论是因为每个人都觉得组织内部有问题,但是却不知道如何去解决,还指望别人有办法解决,至少可以通过讨论来解决。经过激烈的争吵以后,好像也找到了一些办法,但是过了一段时间以后发现,团队还是在走以前的老路,根本没有什么实质的变化。我想每个人的思想都有一定的局限性,一个管理团队同样也会有局限性,讨论过几次以后,在重复同样的会议几乎不会有什么积极的意义,这时如果看到开发组仍然存在很多问题,就必须引入新鲜的思想,从团队外部寻找真正可以帮的上忙的人。而且,网络、电话的交流是远远不够的,必须和真人面对面的坐在一起,相互之间才能够真正的了解,这样团队才能够真正吸收先进的思想,从而提高管理素质和开发效率。


哇,多么惊人的相似。不过我们没有你们那里厉害。我们的团队还很年轻。虽然有不满意的地方,但是大家也提不出什么系统的东西,都是写支离破碎的概念。估计我们会走你们的路线。

不过这个项目我们是和IBM一起做的,学了不少,个人感觉更迷茫了。好多的概念哦。。。。
0 请登录后投票
   发表时间:2004-02-12  
大家讨论了这么多,好象越来越离题了。
关于设计,有一个常见的误区是很多人只认为 OOAD 才是设计,其它的不是设计(不可否认 RUP 助长了这种思想,尤其是那个狗窝和大厦的不当比喻)。我曾经提过一个问题,软件开发是否单纯用 OOAD 就足够了?如果这样想,说明你还没有遇到过真正复杂的问题。很多这类问题需要用到数学建模和复杂的算法。那么算法设计是不是设计?对于精通算法的人应不应该重视?
我经常听到的一句话就是:我只管设计,具体如何实现是程序员的事情,我从不干涉。听起来似乎很有道理,可是为什么不干涉(我说的不是负面意义的干涉,而是给予程序员具体如何实现的指导,其实程序员是很欢迎这种“干涉”的)呢?还是因为自己把如何实现都忘了吧?或者是自己本来基础就差,所以帮不上什么忙,你们生死由命吧。这样不管程序员死活的设计师我见过太多了。所以我提倡设计人员在做完设计后至少要提出一种切实可行的实现方法,而是否采用这种方法由程序员本人来决定。之所以认为 OOAD 才是设计是因为 OOAD 比较容易与编程分开,而算法不通过具体的代码是很难讲清楚的(至少也要有类 Pascal 写的伪码你才能搞清楚吧?有一个什么建模工具可以帮助我们做算法设计吗?)。很多时候编程才是具有最大挑战性的领域,尤其是对于那些从来没有做过的项目(对于刚成立不久的公司,招收的大多是新手的话,几乎每个项目都是全新的)。这个与《人月神话》的思想并不矛盾,只有你真正做过了你才知道如何得到一个概念模型,否则凭空想得到的概念模型是没有用处的。就象你说:“1=2,我认为这是对的,因为我相信 1=2”。说到底设计的能力还是看你对软件开发各个环节的熟悉程度,尤其是编程这个环节。这个环节并不是读几本书就可以轻易跨越的。可以说想成为一个好的 Architect 就一定要多写代码。所以千万不要以为编程是没有创造性的工作。SAS 的创始人接受采访时曾经说过其实他最喜欢的职业是做程序员。如果一个公司使得开发人员都认为编程是低级工作,只有做设计(就是会用 ROSE 画出很漂亮的 UML 图)甚至完全脱离技术去做管理才有前途,那么这个公司肯定是出了大问题(我并不是说有这个问题的公司就活不下去,但是还有很多更好的活法)。Bill Gates 创业那些日子还不是一样没日没夜地写代码?当时他会想到规范化管理和 CMM 吗?所以当我听说国内一家不到 20 人的外包企业现在考虑最多的是如何实施 CMM 的时候我感到非常的惊愕!
3 请登录后投票
   发表时间:2004-02-12  
啊~~实在是对不起!老毛病又犯了……
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics