`
bmqnc
  • 浏览: 122705 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于软件可扩展性与代码防御性编程的一点思考

阅读更多
软件可扩展性我从程序员的角度来理解,应该是这样的:

代码应该是可扩展的,便于他人阅读的,代码是非暴力的(非暴力的意思是说我修改了一个地方,其它与之类似的地方时页同时修改或者说只需修改很小的一部分,典型的例子是字符串的国际化问题,我见过n多人写的代码都不太好,而且经常都振振有词)

我感觉国人做软件的最大一个问题是:很多时候以为做出功能就很牛B了,都没有考虑软件的健壮性,易用性,和对意外事件的处理,这点也是国外软件与国内软件最大的区别。(典型的例子是ms)。记得翁恺当年说过国内很多程序员是想当然,很多情况下只考虑if part,至于else part他从来不考虑,因为他们很自豪的说:else part的情况应该不会出现,或者说这个软件的主要功能实现在if部分,else部分无所谓。而如果真正出现了该问题又经常找借口。。。

  编程精粹那本书说要进行防御性编程,以上那种coding方法我想偏离了防御性太久,另外,程序员能力矩阵中提高的高级能力也没达到(防御性编程必须会),在微软软件开发都是要保证代码100%没有错误才能提交的,100%可能有点夸张,但至少说明了一点,将代码写好不是一件容易的事(典型的例子是编程珠玑那本书说的二分搜索的例子。。。。)

记得一本书上提到过真正的软件中,防错的代码要比实现功能的代码多很多,具体比例多少我忘了,但我觉得应该是3:7,防错的代码占7成。

我一直在想国人其实挺聪明的,但为什么软件业一直不如印度,尤其印度的tester那真是牛B啊。。。记得ACM icpc上多次tester都是印度的。。。。

印度搞test那思维真是缜密。。我觉得我们真是悲剧。。。
分享到:
评论
1 楼 lliiqiang 2014-07-24  
最简单的显示 存储分离,有的时候错别字与错误数据存储兼容。还有量化代表力量,但是首先组合模式代表本质,当然大小关系有的时候也决定本质,这需要控制.

相关推荐

    Virbox 开发者工具盒-软件加密工具

    而且此方案严格受加密锁硬件规格的限制,可扩展性极低,加密后的软件只能彻底依赖加密锁,无法实现业务变化(比如在线试用等)。 深思的“碎片代码执行”从根本上解决上述问题,利用成熟的代码提取技术,从软件中...

    vc++ 应用源码包_6

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_5

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 开发实例源码包

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_1

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_3

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_2

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    payvision-software-engineer

    您必须采用防御性编程实践。 接收文件路径不好。 考虑一下并更改签名,让它变得更酷。 2-计数位 给定整数n,我们想知道以下内容: 它的二进制表示形式中有多少个1位? 假设n的二进制表示形式具有k个从1到k的有效...

    CISCO交换机配置AAA、802.1X以及VACL

    这种脆弱性具体表现为内部用户可未经授权访问或者恶意破坏关键的IT资源。作为全面的“深层防御”安全架构的一部分,关键内部基础设施的访问权只能提供给授权用户。 局域网(LAN)历来是大门敞开。IEEE 802.1x这项...

    编写设备驱动程序

    Interface/Driver-KernelInterface,设备驱动程序接口/驱动程序内核接口)的所有体系结构开发多线程可重入设备驱动程序。介绍了一种常用的驱动程序编写方法,该方法允许在编写驱动程序时忽略特定于平台的问题,如...

Global site tag (gtag.js) - Google Analytics