4325|8

7815

帖子

56

TA的资源

裸片初长成(中级)

楼主
 

匠人的编程思路 手记 的 个人整理 [复制链接]

最近,觉得,其实现在对于编程,我已经不太需要太过于纠结语法了,虽然自己还是个新手,但我的意思是,我现阶段更重要的是 学习 编程思路。

所以,我开始找这方面的资料看,首先是搜索 软件工程思想,找到一本经典大书,刚下好还没开始看: 代码大全。看了前言,觉得正是自己想看的那种书。
又想起 匠人手记 里 也有一篇很具有总结性意义的 编程思路。

读了后发现,其实有好些思路,在我自己的实际编程中,无意使用了大部分,只是并没进行过总结。
于是,这次重新读一次,并做了一个简单的总结,在此,和大家分享分享!

--------------------------------------------------------------------------------------

1         模块结构化

2         模块的事件驱动机制——其实也可以说是 标志驱动机制

3         在标志驱动机制的基础上,按照优先级分为 顺序轮询 和 优先轮询,这种机制,其实就是相当于提前continue循环;

4         中断的前后台——张俊把中断程序称为前台,把主程序成为后台,这里说的是 安排中断执行和主流程执行。

两个极致是:

只有 前台 或者 只有后台。

5         时间片和分时调度:这个,我知道怎么玩,但没玩过……

 

第四种方法,是我现在最常用的,也遇到了张俊说的问题:那就是前后台中都有对实时性有要求的任务,于是互相抢夺CPU——对我而言,最明显的是,使我的主流程循环时间过长。

6         多线程机制

这种多线程非C里头的那种多线程,其手法是,把一个子任务分时段进行,把一些等待延时的部分,留给CPU去做别的事情,说起来,我们的那个数码管扫描程序,其实就是这种思路。

7         多工序

其实,这就是 状态机 的思路,我也用到过了,的确很好,方便区分,否则,如同匠人所说,那么多乱七八糟的状态和标志,会疯掉的——而我也的确疯过……

这种 类似于 状态机 的思路当然也有危险之处:那就是他可能有多个出口和入口……

8         状态机

张俊区分了 多工序 和 状态机,以至于让我看不懂了多工序,不过如此看来,我使用的正是 状态机 方法。

9         更复杂的划分:把上述这些思路看成一维情形,更复杂的就是更高维度的综合应用了。

 

简单才是最有效的,尽可能单维,单级……哭啊,这绝对是经验之谈啊!!

 


此帖出自编程基础论坛

最新回复

我也在找这类的书  详情 回复 发表于 2012-4-28 10:29
点赞 关注
个人签名

强者为尊,弱者,死无葬身之地

 

回复
举报

2453

帖子

19

TA的资源

五彩晶圆(中级)

沙发
 
路人甲表示我很混乱
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

板凳
 

回复 沙发 zca123 的帖子

不好意思,一开始这是我自己写的总结,所以很多内容我没有写,因为我自己知道,后来却想发在坛子里,但也没有写具体些
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

888

帖子

3

TA的资源

五彩晶圆(初级)

4
 
感觉是蜻蜓点水式的总结啊!如果可以详细点,加一个举例说明就好了啊
此帖出自编程基础论坛
 
个人签名邮箱:ternence.hsu@foxmail.com
 
 

回复

57

帖子

0

TA的资源

一粒金砂(高级)

5
 

是啊 是啊   理解的好模糊  好混乱   希望灿哥  简单的解释说明一下

此帖出自编程基础论坛
 
 
 

回复

50

帖子

0

TA的资源

一粒金砂(中级)

6
 
我更新人,,表示木有明白。。。
此帖出自编程基础论坛
 
 
 

回复

304

帖子

0

TA的资源

一粒金砂(高级)

7
 
学习了,精华!
此帖出自编程基础论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

8
 
我也在找这类的书
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

9
 

回复 8楼 仲康 的帖子

代码大全 还有 高质量C编程 一类的都不错。
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表