打印

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

[复制链接]
楼主: yurulin
手机看帖
扫描二维码
随时随地手机跟帖
21
qiuming| | 2009-9-5 21:46 | 只看该作者 回帖奖励 |倒序浏览
没可比性。。。

使用特权

评论回复
22
e掾木| | 2009-9-5 22:08 | 只看该作者
我认为最好的速度是代码重用率超过90%,写程序就是配置底层--->搬迁移植以前代码--->高层应用。

使用特权

评论回复
23
donkey89| | 2009-9-5 22:16 | 只看该作者
每天0.8k,就是800字节.800个英文字母.平均每行40个字母的话,有20行.

使用特权

评论回复
24
蒋广武| | 2009-9-5 22:25 | 只看该作者
单纯计算一天能编多少代码是意义不大的,关键看代码的质量和功能的复杂度

使用特权

评论回复
25
continue_x| | 2009-9-5 22:48 | 只看该作者
哎  这都是在讨论啥呀~~  问的啥问题呀

使用特权

评论回复
26
taoest| | 2009-9-5 23:17 | 只看该作者
我花两天时间,将33k的程序,减肥成31K的。这个算什么速度?

使用特权

评论回复
27
大碗拉面| | 2009-9-5 23:25 | 只看该作者
编程前一定要准备做得好
这样速度就上来了

使用特权

评论回复
28
yurulin|  楼主 | 2009-9-6 14:16 | 只看该作者
本帖最后由 yurulin 于 2009-9-6 14:38 编辑

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

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

6楼说的垒代码,我这没用上几个,几乎是敲出来的.   这是我这次编程的缺陷, 以后得多积累程序块

使用特权

评论回复
29
yurulin|  楼主 | 2009-9-6 14:32 | 只看该作者
13楼,我们的速度应该差不多,我的调试时间占了一半,要不调试,我也可以赶出2K一天

使用特权

评论回复
30
yurulin|  楼主 | 2009-9-6 14:36 | 只看该作者
26楼,你这个不好说, 跟程序结构有关.但我可以肯定的一点是,你能按你这样的速度持续几周,那绝对是神速

使用特权

评论回复
31
ddb_21ic| | 2009-9-9 15:07 | 只看该作者
把循环分开写,很快的

使用特权

评论回复
32
大道至简| | 2009-9-9 15:59 | 只看该作者
本帖最后由 大道至简 于 2009-9-9 16:02 编辑

太慢了,俺4个月可以写20000行C++ code,还不怎么加班的

使用特权

评论回复
33
大道至简| | 2009-9-9 16:01 | 只看该作者
25K是源代码的尺寸还是编译后的?
如果是源代码,就太少了
如果是binary code 那还马马虎虎
不过编译后的binary code通常会被编译器嵌入很多库,比如你第一次调用一个printf,一下就会多2~3k
在第一次调用一个scanf,一下又会多2~3k

使用特权

评论回复
34
许世霞| | 2009-9-9 16:20 | 只看该作者
留个记号

使用特权

评论回复
35
mengyu2008| | 2009-9-9 16:40 | 只看该作者
这代表不了什么

使用特权

评论回复
36
sklar| | 2009-9-9 19:26 | 只看该作者
太慢了。。。什么速度么。。。

使用特权

评论回复
37
虾军师| | 2009-9-9 21:25 | 只看该作者
还在按代码长度评价一个工程师的技术吗·····

使用特权

评论回复
38
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。打开中断

使用特权

评论回复
39
大道至简| | 2009-9-10 12:06 | 只看该作者
你写的真快,我三天就调通了30句代码,还是别人写好的,只是移植。
就这样的速度还有人说我快。

你们公司真好混呀:)

使用特权

评论回复
40
xuhuadong| | 2009-9-10 13:25 | 只看该作者
买过你的书了,好多学习的地方。
     我不是混的, 我的水平差,公司里的其他人水平应该很高的。我只做模块调试,都是别人不做的小事情,调通封好后给他们用,要是出了问题是要丢工作的。

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则