关于软件设计的一点感想2

       在软件设计中设计师应该考虑的很重要的一点就是关于软件的稳定性,产品不稳定不可能赢来客户的好口碑,而软件的稳不稳定取决于软件的架构和软件的一些细节问题。做出来的软件不稳定究其原因一方面是程序员对代码质量的追求不够,在项目进度的压力下,只考虑了功能实现,而不用过多的追求质量属性;第二则是对编程语言的正确编码方式不够了解,不知如何有效而正确的编码;第三则是知识量的不足,在编程时没有意识到实现会对哪些因素造成影响。其实一个优秀的程序员应该是具有缜密的思维和熟练的编码能力的结合体。不仅设计的算法和数据结构对解决问题考虑全面而且一个模块只解决一个问题,保证单一职责原则,即实现解决问题后不引起其他的问题,这样的设计才是优秀的设计。软件本身影响稳定的一个重要因素是关于内存的管理,C语言由malloc函数分配内存,free函数释放内存;C++由new操作符分配内存,delete操作符释放内存。而在比较复杂的软件设计中,代码平凡的出现new,delete和malloc,free是非常危险的,当一个需要动态分配内存的对象会被频繁的重复使用时,我们就需要把这个对象进行封装成一个类的成员变量,在这个类中的结构体函数中使用new操作符来为变量分配内存,在类的析构函数中使用delete操作符来释放该变量的内存。这样在需要使用这个对象时使用这个类对象来调用该对象,这也就是所谓的RAII技术:

#include<iostream>
using namespace std;
class data
{
 public:
  data()
  {
   pstr = new char[10];
  }
  ~data()
  {
   if(pstr != NULL)
   {
    delete []pstr;
   }
  }
  char* pstr;
};
int main()
{
 data q;
 strcpy(q.pstr,"abc");
 cout <<q.pstr; 
 return 0;
}

这样要使用pstr时,使用data类型的局部变量时即可调用pstr;避免内存泄漏。

在具体的编译环境中资源的分配和释放尤其重要,最好保证谁分配谁释放的原则,这样不会导致资源浪费和泄露。 在编译环境中影响软件稳定的一个重要因素是编码所调用的组件与操作内核不兼容的问题,解决这个问题的方法则是选择与系统匹配的编译器,即兼容性要求良好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值