代码行数根本就不能说明问题:
Unix V6 才1万行!
Minix 2.0也才3万行!以前看到“从程序员到工程师”一文,印度一家CMM认证软件公司,其标准是350行/人月。
Unix V6 才1万行!
Minix 2.0也才3万行!以前看到“从程序员到工程师”一文,印度一家CMM认证软件公司,其标准是350行/人月。
解决方案 »
- c++ 程序运行时出现runtime error abnormal program termination
- 一个画图程序内存泄露,高手给看下,附有源码
- 工具栏的按钮disable后,按钮上的图标怎样换?或者按钮上的图标颜色只变成灰色,而不是变成浮雕状?
- 问:如何创建一个 tab按钮垂直排列在左侧的属性表
- 动态创建了 IDOK 和 IDCANCEL 按钮,如何设置它的文本?
- 【求助】怎样实现在分割条上画图或加载图标?急!!!
- 编程实现控制资源管理器中隐藏文件的显示?
- 病毒问题:请问,最近流行的最新蠕虫病毒是不是 win32.foroux.a 请告之
- 为什么么会出现这样的错误?
- 如何通过HWND得到对应的窗口指针CWnd*?
- 怎样让辅助线程在主线程结束时还继续工作?
- songshi(VCSongs)小兄来这儿领分啊!(我的参与分有限,只能加到72分,见谅!)
如果算删除的话,我想应该是10000年
sorrySorry,我说错话了
简单的算一下,算平均一行代码有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行代码是很困难的。
以我的经验,输入1000行代码,至少也要两三个小时,一般更多,因为程序员不是打字员,打字员是只看稿子的盲打,一直在打字,脑子不用想什么东西。程序员不一样,即使我纸面作业已经做的很好,我输入代码的时候仍然在考虑程序,还要在逻辑上再验证一遍,我打每一行时还在想着下一行的逻辑是否正确,这个子程序段的逻辑是否正确,是否有什么毛病,为什么要这样写等等,这样一来速度就慢了很多。另外打字是不看输出结果的,只看稿子,难道你打程序时也不看输出结果吗?我要考虑源程序的输入组织,虽然VC这方面做的很好,但经常也需要自己调整,比如for循环体只带一个语句段可以不要紧跟的大扩号,但紧接着的语句也缩进了,猛一看还以为也在循环体内呢,必须自己调整一下,这种情况还有很多。还有你在输完一个函数打了前扩号没出参数提示,你是不是会停下来再验证一下函数名呢?打了.或者->不出成员提示,你是不是也要验证一下呢?这种情况太多了。再加上有时停下来加段注释,这些都是很费时间的.
lhxx的话是一针见血。COM中的万物之根IUnknown接口,3个函数凝结了多少智慧?!
当然,如果说算法嘛,一个星期600行左右吧。不过我也曾经用VB写一个简单的自动机,在做好状态转移图的前提下,一天就写好了,大约300行吧。to lonelybug: 其实讨论这些问题也没什么不妥,交流一下嘛。
以前看过一篇文章,说中国和印度的程序员,差别主要在编程的风格上。中国的程序员喜欢
玩弄算法这东西,好像算法越高深程序员就越高手似的,而人家印度佬就喜欢直截了当。
现如今程序员写程序,很大一部分工作是在copy程序,而不是在写,从这个角度来讲每天1000行也不算多,当这是与程序的类型和难易程度有很大关系的。
& :-(
干吗讨论这种无聊的问题。
怎么就不讨论OOA,OOD,OOP呢,怎么就不讨论UML等等软工呢?
发现CSDN里面现在的问题越来越没有味道了。很多的哗众取宠、不华不实的问题。请斑竹好好研究一下吧。
写软件不能一开始就到OOA的阶段,首先还要可行性分析,工程预算,如果不知道写代码的速度,
工程预算怎么做?怎么叫投资者放心给钱你?要知道,在商业开发领域,拖一天工期,损失是无法预计的。我一开始说1000行代码,是因为这里是VC区,大家用VC也知道,自动生成的东西很多,输入东西也少,还有类成员提示,输入成员的前几个字母就行,这些都是算在代码里面的。而且规范的代码,至少是看得舒服的代码,有时候是很占地方的。 :) 例如:for (;;)
{
do(something);
}这就叫做四行代码。这样写1000行一天不过分吧?话说回来,如果是分工不清,程序员同时兼任系统分析员,界面设计等的话,效率自然很低。
所以嘛,我通常不会一边写代码,一边考虑算法,而是做好了技术分析,确定了算法和流程,才开始写代码,这样就算是复杂算法也能很快的写出来。
象我上面说的那个自动机,状态转移图用了两天才完成,比写代码的时间要多一倍,但是代码一天写好,完全符合要求,不需要说第十一天才把前十天的工作推翻。
10000?你有的太夸张了吧?
我觉得你说话很不实在,你的观点我是不能接受。我个人认为调试程序是程序员最重要的一个基本功。甚至比写程序要重要。
Writing isn't TYPING!!!
我最近开始学习uml
对软件工程,我认为每个程序员都应该关注,并自觉能将理论化为实际工作.
比如变量命名,书写风格