代码行数根本就不能说明问题:
Unix V6 才1万行!
Minix 2.0也才3万行!以前看到“从程序员到工程师”一文,印度一家CMM认证软件公司,其标准是350行/人月。

解决方案 »

  1.   

    我想大概500,
    如果算删除的话,我想应该是10000年
    sorrySorry,我说错话了
      

  2.   

    如果平均一天能写1000行代码,那是超级程序员。
    简单的算一下,算平均一行代码有15个字符,那么1000行就有15000个字符,大多数程序员打字水平跟打字员差的还挺远,就算平均一秒打一个字符,那么一小时就有3600个字符,这样光把1000行代码输入就要4个多小时,1000行代码在逻辑上已经有一定复杂性,就算一天工作10小时,难道能在剩下的5个多小时内完成分析设计,纸面作业和DEBUG吗?一般都知道这些工作比敲代码可费时间多了。在看看软件工程的经典实例,MS的Windows95,这个工程共有1500万行代码(要么是900万行,98是1500万),如果一天写1000行代码,一个程序员一年工作200天(平均一周四天都不到),那么一年就是20万行,共需要75个程序员人年,MS一般程序员和测试员是1比1配置,就算文档员也是1比1配置,那么共是225人年,再加上其他高级人员,也超不过300人年,但实际上Win95用了上千人年,这还是MS,有许多著名程序员,所有平均一天写1000行代码是很困难的。
      

  3.   

    一秒打一个字符是太慢了点,但只是一个平均数,不是说你真的一秒只打一个字符。
    以我的经验,输入1000行代码,至少也要两三个小时,一般更多,因为程序员不是打字员,打字员是只看稿子的盲打,一直在打字,脑子不用想什么东西。程序员不一样,即使我纸面作业已经做的很好,我输入代码的时候仍然在考虑程序,还要在逻辑上再验证一遍,我打每一行时还在想着下一行的逻辑是否正确,这个子程序段的逻辑是否正确,是否有什么毛病,为什么要这样写等等,这样一来速度就慢了很多。另外打字是不看输出结果的,只看稿子,难道你打程序时也不看输出结果吗?我要考虑源程序的输入组织,虽然VC这方面做的很好,但经常也需要自己调整,比如for循环体只带一个语句段可以不要紧跟的大扩号,但紧接着的语句也缩进了,猛一看还以为也在循环体内呢,必须自己调整一下,这种情况还有很多。还有你在输完一个函数打了前扩号没出参数提示,你是不是会停下来再验证一下函数名呢?打了.或者->不出成员提示,你是不是也要验证一下呢?这种情况太多了。再加上有时停下来加段注释,这些都是很费时间的.
      

  4.   

    zgl是讲道理的,也很实际。
    lhxx的话是一针见血。COM中的万物之根IUnknown接口,3个函数凝结了多少智慧?!
      

  5.   

    用VC的ClassWizard写界面代码,把自动生成的都计算在内的话,1000行是没有问题的。
    当然,如果说算法嘛,一个星期600行左右吧。不过我也曾经用VB写一个简单的自动机,在做好状态转移图的前提下,一天就写好了,大约300行吧。to lonelybug: 其实讨论这些问题也没什么不妥,交流一下嘛。
    以前看过一篇文章,说中国和印度的程序员,差别主要在编程的风格上。中国的程序员喜欢
    玩弄算法这东西,好像算法越高深程序员就越高手似的,而人家印度佬就喜欢直截了当。
      

  6.   

    此外:
    现如今程序员写程序,很大一部分工作是在copy程序,而不是在写,从这个角度来讲每天1000行也不算多,当这是与程序的类型和难易程度有很大关系的。
      

  7.   

    一天1000 行,  我前两天写的地图编辑器才1000 行了.  用我了两个星期.  我真是那么笨吗?
    & :-(
      

  8.   

    lonelybug言之有理
    干吗讨论这种无聊的问题。
      

  9.   

        中国的程序员好象就喜欢讨论哪种工具好啊,还大吵一通,自家人打架,一点风度都没有了,还有就是什么一天些写多少行代码什么的,这能说明什么问题呢?
        怎么就不讨论OOA,OOD,OOP呢,怎么就不讨论UML等等软工呢?
        发现CSDN里面现在的问题越来越没有味道了。很多的哗众取宠、不华不实的问题。请斑竹好好研究一下吧。
      

  10.   

    同意quace的意见。如果对自己的工作效率没有了解,怎么制定工作计划?
    写软件不能一开始就到OOA的阶段,首先还要可行性分析,工程预算,如果不知道写代码的速度,
    工程预算怎么做?怎么叫投资者放心给钱你?要知道,在商业开发领域,拖一天工期,损失是无法预计的。我一开始说1000行代码,是因为这里是VC区,大家用VC也知道,自动生成的东西很多,输入东西也少,还有类成员提示,输入成员的前几个字母就行,这些都是算在代码里面的。而且规范的代码,至少是看得舒服的代码,有时候是很占地方的。 :) 例如:for (;;)
    {
        do(something);
    }这就叫做四行代码。这样写1000行一天不过分吧?话说回来,如果是分工不清,程序员同时兼任系统分析员,界面设计等的话,效率自然很低。
    所以嘛,我通常不会一边写代码,一边考虑算法,而是做好了技术分析,确定了算法和流程,才开始写代码,这样就算是复杂算法也能很快的写出来。
    象我上面说的那个自动机,状态转移图用了两天才完成,比写代码的时间要多一倍,但是代码一天写好,完全符合要求,不需要说第十一天才把前十天的工作推翻。
      

  11.   

    I think you can ask other how long they work hard in a day.
      

  12.   

    To RuFeng:
    10000?你有的太夸张了吧?
    我觉得你说话很不实在,你的观点我是不能接受。我个人认为调试程序是程序员最重要的一个基本功。甚至比写程序要重要。
      

  13.   

       I never do over 500 Lines without COPY.
       Writing isn't TYPING!!!
      

  14.   

    欢迎大家对此问题讨论
    我最近开始学习uml
    对软件工程,我认为每个程序员都应该关注,并自觉能将理论化为实际工作.
    比如变量命名,书写风格