游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 执着

请问MIU.C,什么是硬编码?

[复制链接]

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2007-4-29 22:39:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

来看小丑装B

0

主题

39

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2007-4-29 22:48:00 | 显示全部楼层

Re: Re:请问MIU.C,什么是硬编码?

游戏之家站长: Re:请问MIU.C,什么是硬编码?

根本没有绝对的软硬之分,除非一个简单的DEMO。

如果我的游戏里原来是使用MDL模型的,现在要全部换成BMP图片,你再软的代码都要全换掉,处理3D变2D,不换也不行。


什么东西啊,这里是游戏开发者论坛吗 ?
朋友,不懂就要虚心.别装

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-4-29 22:59:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

硬编码?

好象是“不使用引擎或模块”的方式,一个语句一个语句地编码,叫硬编码吧?

0

主题

39

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2007-4-29 23:03:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

我想硬编码应该是相对于需求而言

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2007-4-30 05:48:00 | 显示全部楼层

Re: Re: Re:请问MIU.C,什么是硬编码?

游戏之家站长: Re: Re:请问MIU.C,什么是硬编码?



不是3D游戏换2D游戏,我只是打个比方,比如公司有变动,有的开发人员或美工跳槽了,新来的人又无法看明...

正是因为硬编码,所以才会造成“新来的人又无法看明白原来人的设计思想” [em6]

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-4-30 12:50:00 | 显示全部楼层

Re: Re: Re: Re:请问MIU.C,什么是硬编码?

psic: Re: Re: Re:请问MIU.C,什么是硬编码?


正是因为硬编码,所以才会造成“新来的人又无法看明白原来人的设计思想” [em6]

我和你的观点一样。
记得我们老师说过,"你的代码别人看不懂那么你的代码是没有价值的"。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2007-4-30 12:57:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

好习惯要时刻培养。而不是可以敷衍的。

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2007-4-30 13:18:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

恩,习惯很重要!!!

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2007-5-2 19:29:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

漫长的培养过程啊。。。

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-5-3 13:18:00 | 显示全部楼层

Re:请问MIU.C,什么是硬编码?

硬编码和软编码是相对来说的。
硬编码主要是关联很紧密的结构,而软编码是关联比较松的。
从实现的层次上,也就是一级关联很多级关联的差别。比如
int i = 1; 这个是数字和变量的直接一级关联
#define pig 1
int i = pig; 这个是数字通过pig间接关联数字。

多级关联的好处就是你可以通过修改中间的一层,而不需要直接改变对应的一层。比如你可以改变pig 2,而不需要改变int i = pig;

如果你觉得这样只不过是增加无聊的层次,那么首先应该认识到中间层带来的若干好处。比如清晰的逻辑划分:
#define pig 1
int i = pig
ing j = pig
i,j 都是对应一个逻辑词pig,而不是某个数字,我们可以预想到,如果pig需要改变,那么i,j都是应该改变的,因为他们逻辑相同。如果硬编码就不能表达这种逻辑上相同的关系,只能分别修改i,j。这就浪费一些时间,同时增加出错的可能性。
第二个是中间层可以抽象一个简单的使用界面出来,方便具体实现的修改:
同时是相面的例子,我们不需要理会pig具体是什么,也就是不需要理会pig的实现。这样就可以将实现和接口区分,pig可以修改而不干扰的使用它的代码。
#define pig 2
int i = pig; //不用改变
ing j = pig;  //不用改变

不过软编码比硬编码要复杂一些,对以后的考虑要周到一些。软编码是一种设计,而硬编码不过是一种具体的实现。软件开发不只是需要一个软件的实现,更需要软件能够很好的修改,方便得扩展,所以需要一些设计技巧在里面。

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

本版积分规则

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

GMT+8, 2026-1-26 09:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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