一天编写0.8K程序算是什么速度

[复制链接]
9980|45
qiuming 发表于 2009-9-5 21:46 | 显示全部楼层
没可比性。。。
e掾木 发表于 2009-9-5 22:08 | 显示全部楼层
我认为最好的速度是代码重用率超过90%,写程序就是配置底层--->搬迁移植以前代码--->高层应用。
donkey89 发表于 2009-9-5 22:16 | 显示全部楼层
每天0.8k,就是800字节.800个英文字母.平均每行40个字母的话,有20行.
蒋广武 发表于 2009-9-5 22:25 | 显示全部楼层
单纯计算一天能编多少代码是意义不大的,关键看代码的质量和功能的复杂度
continue_x 发表于 2009-9-5 22:48 | 显示全部楼层
哎  这都是在讨论啥呀~~  问的啥问题呀
taoest 发表于 2009-9-5 23:17 | 显示全部楼层
我花两天时间,将33k的程序,减肥成31K的。这个算什么速度?
大碗拉面 发表于 2009-9-5 23:25 | 显示全部楼层
编程前一定要准备做得好
这样速度就上来了
 楼主| yurulin 发表于 2009-9-6 14:16 | 显示全部楼层
本帖最后由 yurulin 于 2009-9-6 14:38 编辑

两天没看,这么多人关注, 25K代码是编译后的长度,不包括库函数,单片机的程序特点大家都差不多把,

8楼说的危险,我这应该不会发生,我是按功能块分类,树状管理.不过时不时的对前面的程序作小的修改是有的,现在也发现我的程序有点过大,编写后面的程序忘了前面的程序,

6楼说的垒代码,我这没用上几个,几乎是敲出来的.   这是我这次编程的缺陷, 以后得多积累程序块
 楼主| yurulin 发表于 2009-9-6 14:32 | 显示全部楼层
13楼,我们的速度应该差不多,我的调试时间占了一半,要不调试,我也可以赶出2K一天
 楼主| yurulin 发表于 2009-9-6 14:36 | 显示全部楼层
26楼,你这个不好说, 跟程序结构有关.但我可以肯定的一点是,你能按你这样的速度持续几周,那绝对是神速
ddb_21ic 发表于 2009-9-9 15:07 | 显示全部楼层
把循环分开写,很快的
大道至简 发表于 2009-9-9 15:59 | 显示全部楼层
本帖最后由 大道至简 于 2009-9-9 16:02 编辑

太慢了,俺4个月可以写20000行C++ code,还不怎么加班的
大道至简 发表于 2009-9-9 16:01 | 显示全部楼层
25K是源代码的尺寸还是编译后的?
如果是源代码,就太少了
如果是binary code 那还马马虎虎
不过编译后的binary code通常会被编译器嵌入很多库,比如你第一次调用一个printf,一下就会多2~3k
在第一次调用一个scanf,一下又会多2~3k
许世霞 发表于 2009-9-9 16:20 | 显示全部楼层
留个记号
mengyu2008 发表于 2009-9-9 16:40 | 显示全部楼层
这代表不了什么
sklar 发表于 2009-9-9 19:26 | 显示全部楼层
太慢了。。。什么速度么。。。
虾军师 发表于 2009-9-9 21:25 | 显示全部楼层
还在按代码长度评价一个工程师的技术吗·····
xuhuadong 发表于 2009-9-10 10:06 | 显示全部楼层
你写的真快,我三天就调通了30句代码,还是别人写好的,只是移植。
就这样的速度还有人说我快。

freescale的51cn128的flash模拟eeprom,有需要的找我,省得走弯路

DisableInterrupts;                  //1。关中断
if (!(FCDIV & FCDIV_FDIVLD_MASK))
      
       FCDIV =0x99;              //    2。设定频率150k~200k,   
   
if (FSTAT&0x30) FSTAT = 0x30;   //    3。上次的错误检查,并清除错误标记
           
  while(!(FSTAT&FSTAT_FCBEF_MASK))  __RESET_WATCHDOG(); //4。等待标记的置位
         
  *(( unsigned long *)(FlashAddress)) = 0xffffffff;  // 5。指向页首地址
   
   FCMD = 0x40;                  //    6。命令   
     
   DoOnStack();                  //    7。启动命令并等待完成,在ram 中执行
   
   while ((FSTAT&FSTAT_FCCF_MASK)==0) __RESET_WATCHDOG(); //8。所有命令执行结束
   
   EnableInterrupts;           //     9。打开中断
大道至简 发表于 2009-9-10 12:06 | 显示全部楼层
你写的真快,我三天就调通了30句代码,还是别人写好的,只是移植。
就这样的速度还有人说我快。

你们公司真好混呀:)
xuhuadong 发表于 2009-9-10 13:25 | 显示全部楼层
买过你的书了,好多学习的地方。
     我不是混的, 我的水平差,公司里的其他人水平应该很高的。我只做模块调试,都是别人不做的小事情,调通封好后给他们用,要是出了问题是要丢工作的。

第一天,以为很简单,不就是flash模拟eeprom,现在的单片机都有这个功能,简单的按照数据手册写好后执行,发现不行。然后详细的读数据手册。(freescsale的毛病简单的操作要绕好几个弯,注意的事项都用小字写道不起眼的地方)。晚上没睡好。
第二天,寄存器和手册都读烂了,能够写进去,但是会复位。就是单步执行可以,连续就会复位。
第三天,问题解决了,freescale的flash内部有高压泵,在高压启动的瞬间,rom  不能动 ,pc指针必须要放到ram,等高压过去了,再恢复到rom中。但是这个过程在手册中没有提到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部