游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2366|回复: 8

程序分析规律

[复制链接]

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2005-10-28 20:36:00 | 显示全部楼层 |阅读模式

身为一个程序员,也许并不需要太多的内涵。

而身为设计程序的人,必须思考设计方法,以向天才的前辈们表示尊敬。

程序究竟是什么东西?首先程序包含如下部分,表示和逻辑。

所谓的表示,基本就是数学表示,字节编码之类的。
而逻辑即转化表示的算法。

比如 1+1=2的表示是三个字节,两个装着表示1的编码,结果装着2的编码。
而转化的过程就是 + 算法。

表示是识别的一种规范,而识别的主体,可以是硬件,如cpu,也可以是人,比如“它是小狗“。

而逻辑负责推导,比如1+1,推导结果为2。推导是基于硬件的,同时也可以扩充为人认知的一些规则。“它是小狗,小狗是动物“推导出“它是动物”。

但是,一切表示最基本的形态就是硬件表示,一切逻辑的行为也不能超出硬件的功能。

我们在设计程序的时候,首先要明白到我们的手段和目的是什么?
我们的手段就是逻辑推导,我们的目的就是改变表示形态。

首先要确定表示的形态。通俗一点就是数据结构。
但是数据结构只是数据的布局,而不是数据的范围和性质。

而表示的形态,是应该包括基础形态(也就是硬件表示形态),同时具备意义。意义可以成为逻辑推导的依据。

算法是什么东西?算法表示一种转化过程,同时算法能够一般化的处理同一种表示形式。

具体来说,我们首先将问题归纳为数据和操作,数据简化为硬件形态,并辅加定义用成员。
数据的转化规律简化为硬件形态的转化,并且受限于数据的定义。

最后如果需要,还需要将硬件形态转化为原始形态。

举个例子,统计一个班的学生的身高之和。
首先每一个学生应该有一个主属性身高,单位是厘米。
举例:学生a身高176厘米,b145,c165....等,然后将身高数值累加,就是结果。
数据即176厘米等。
而操作,即将数据项累加起来。
将其简化为基本形态,即用 int 类型表示。
逻辑也就是将每个int 成员用+法累加起来。
如果需要转化为原始表示形式(文字),直接使用函数printf();

不是所有的设计过程都那么简单。我们的设计过程需要使用一些技巧,或者说经验。
实际开发过程中,往往因为事物的复杂性而导致设计失败。我们首先应该着重分析事物本身,分析哪些是数据,哪些是操作。并且它们的形态和内容是什么,这些都要我们细心分析,并重复修正。


5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2005-10-30 18:16:00 | 显示全部楼层

Re:程序分析规律

不明白!

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2005-10-30 20:29:00 | 显示全部楼层

Re:程序分析规律

他经常这样...习惯就好了

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-10-31 09:20:00 | 显示全部楼层

Re:程序分析规律

汗一个。。。。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-10-31 12:48:00 | 显示全部楼层

Re:程序分析规律

同意3楼,楼主是一个喜欢用01思考的哲学家兼精神分裂症患者。。。。HAIHAI

0

主题

53

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2005-10-31 18:02:00 | 显示全部楼层

Re:程序分析规律

lz说的是程序的本质~~

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
 楼主| 发表于 2005-11-2 15:10:00 | 显示全部楼层

Re:程序分析规律


天才总被忽视。
你们这群凡夫俗子。

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-11-2 15:15:00 | 显示全部楼层

Re:程序分析规律

。。。。。。。。真臭屁。。。。

3

主题

186

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2005-11-2 19:00:00 | 显示全部楼层

Re:程序分析规律

再复杂的程序最终也只是一些简单东西的组合,而我们拿到一个项目时,应该分析它的需求、特性等,划分出我们所要达到的目标的各种成分,什么是数据,什么是操作,这样在写程序的时候,我们能够更加清楚以及能够更好的设计一个平台来包容他们,而且也更容易使其具有扩展性。程序员应该做的不是编码,而是对手中的东西进行分析,划出条条款款,这样能够更容易将一些表面上看似不相关的东西看成一个东西,最终的变化只是一些属性(数据)、方法(操作)的添加。不知道自己在说什么,LZ是否是这个意思?

数据、行为、事件,分而划之却又紧密相关
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 11:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表