开发中所遇到的问题

数据库方面

类型混乱的问题

字段的类型有时候看起来确实混乱,比如什么时候用integer,什么时候用number,这绝对不是随意的,至于number究竟有多长,最长可以指定多长?integer和C++中32位的int类型有什么异同吗?而long类型和C++的long是一样的吗?字符串到底用char、varchar还是varchar2?需要进一步研究。


过于复杂的单句SQL语句

Oracle的功能是很强大的,几乎支持所有的SQL风格,当然包括了复杂的联合查询和子查询,但过于庞大的select语句使后来的维护者感觉非常费劲,一个语句往往需要阅读很长时间,而且根据我的经验,调试时候出问题多的存储过程就是包含了这些复杂SQL语句的存储过程,有办法将它简化吗?如果不能简化,务必谨慎,测试测试再测试,确保其正确性,然后添加清晰的注释。


应用程序方面

应用程序的问题主要还是集中在版本的控制上,包括消息头文件的版本,运营与维护的不同版本程序,测试与发行的不同版本。当然还有别的问题,不一定是技术上的原因了,使得后来做出来的成品和原先设计的相差很大,很多设计文档实际上已经废弃,加大了以后维护的难度。


程序中的错别字

这是个不重要又重要的问题,也许大家都默认之后不会觉得有什么不妥,但站在用户的角度,会不会觉得开发人员水平很差呢?列举一下常见错误(括号内是正确用法):登陆(登录)、Acount(Account)、超连接(超链接)、Sucess(Success)。


目录结构安排

一个工程,安排怎样的目录结构?单个目录?或者许多?我想这应该不是随意的,我认为通常可以这样:将公共模块放置一个目录,将类库(比如数据库操作的类库,图形类库,加密狗类库)放置各自的目录,剩下自己编写的代码放一个目录即可,但如果自己写的代码模块独立性强,也可以考虑把他们分开,以便以后的复用。还有就是bin目录的建立,现在想想还是有必要的,将生成的可执行文件放置bin目录下(VC++自己有debug目录和release目录就另外讲了),配置文件也放置bin目录下,发布时候只需要发布bin目录嘛,我们通常写log,log目录呢?我认为放置在bin目录下,这样发布的时候也没忘记带上log目录,当然啦,要先将里面的log文件清空。


系统设计的问题

在做概要设计的时候,我们往往有很多不错的想法,比如构建一个比较完美的游戏平台,以后只需要在平台上添加各种不同的游戏即可,这样就产生了对应的不同数据库,平台自身一个数据库,每个游戏都有自己的数据库,理论上没问题,实际操作起来问题就大了。先是web方面根本没考虑过这种情况,只设计了一个数据库连接,之后重新添加了新的数据库连接,但可扩充性恐怕就不好了,远没达到我们期预的效果,再就是控制管理部分程序权力过大,或者说设计不合理,往往逾越了平台和具体游戏之间的鸿沟,进一步加强了偶合,使平台和游戏越发不可分离,扩展性更差,最后做出来的产品已经很难把平台和游戏区别开来了,一个平台就是一个游戏,一个游戏包括一个平台。


文档方面

这里指的文档包括了各种设计文档、配置文件、说明书及程序注释,是程序可维护性的重要依据,但往往容易被忽略,它不能影响程序的性能,但我觉得从现在的角度来说,一个程序的可维护性往往比性能更重要。

 配置文件的问题

到底把配置文件放入CVS呢还是不放呢?都各有道理,放的话检出中有这个文件,用户知道去修改,但如果一个用户修改了配置文件并检入,然后另一个用户更新,那另一个用户的配置文件也跟着被改动了,可能导致错误;如果不放,那用户第一次检出时候没有这个配置文件,无法运行程序,但获得这个文件后不会因为之后的更新而导致文件被修改。我看还是不放的好,不经意地被改动配置文件是件很郁闷的事情,宁愿找不到配置文件自己另外去找一个。但有没有其它更好的办法?














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值