《都说编程难,编程到底难在哪里?》要点:
本文介绍了都说编程难,编程到底难在哪里?,希望对您有用。如果有疑问,可以联系我们。
都说程序员一天只有三件事:吃饭、睡觉、敲代码.
都说学会编程很简单,可是要学好编程可是很难.
那,编程到底哪里难?
有一个人总结了软件开发中无法规避的四个难点:复杂度、一致性、可变性、弗成见性
这个人便是IBM大型机之父,Frederick Brooks.
复杂度:
规模上,软件实体可能比任何由人类创造的其他实体还要复杂,因为没有任何两个软件部门是相同的.如果有相同的情况,我们会把它们合并成共调用的子函数.
数字计算机本身就比人类建造的大多数东西要来的复杂,由于复杂度,团队成员之间的沟通非常困难,导致产品开发中会出现很多问题,使本钱超支、进度跟不上;复杂度不仅带来技术上的困难,还会引发很多管理上的问题,它使全面理解问题变得很难,从而妨碍了概念上的完整性.
一致性:
工程师必需控制的数据很多是随心所欲的、毫无规则可言的,来自若干必需遵循的人为惯例和系统.它们随不同的接口而改变,随时间的推移而改变,而且这些变化不是必需的,仅仅由于它们是不同的人设计的结果.
某些情况下,因为是开发最新软件,所以它必须遵循各种接口.另一些情况下,软件的开发目标就是兼容性.在上述的所有情况中,很多复杂性来自坚持与其他接口的一致,对软件的任何再设计,都无法简化这些复杂性.
可变性:
所有成功的软件都会发生变更.当人们发现软件很有用时,会在原有的应用范围的界限,或者在超越界限的情况下使用软件.功能扩展的压力主要来自那些喜欢基本功能,又对软件提出很多新用法的用户们.
简而言之,软件产品扎根于文化的母体中,如各种应用、用户、自然及社会规律、计算机硬件等等.后者持续不断的变化着,这些变化无情的逼迫着软件随之变化.
弗成见性:
软件是不可见和无法可视化的.软件的客观存在不具有空间的形体特征.当我们试图用图形来描述软件结构时,会发现它不仅仅包括一个,而是很多相互关联的、重叠在一起的图形.
除去软件结构上的限制和简化方面的进展,软件仍然坚持着无法可视化的固有特征,从而剥夺了一些具有强大功能的概念工具的构造思路.这种缺憾不仅限制了个人的设计过程,也严重阻碍了相互之间的交流.
(部门观点来源于网络)
维易PHP学堂逐步分享更多《都说编程难,编程到底难在哪里?》相关教程。欢迎交流
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9269.html