每个有经验的程序员都知道,在软件开发中存在着一些规律。但是,破坏了这些规律并不会得到惩罚,相反会有些许奖励。
任何一个程序一旦发布就意味着它已经过时了。
让需求根据程序调整往往要比让程序根据需求调整来得容易。
如果一个程序是有用的,那它必将被改变。
如果一个程序是无用的,那它必须被注释。
在任何一个程序里只有10%的代码会被执行。
软件会无限扩张以占用所有的系统资源。
任何有价值的程序都会包含至少一个错误。
一个演示版的程序完美无瑕的几率和关注它的人数成反比,最终要花费的金钱的数量是原数量的平方。
一个程序的致命错误要到其发布至少半年后才会被发现。
不可检测的错误是无穷无尽的,并以各种形式存在;相反,可检测的错误从理论上讲是有限的。
随着时间的推移,修正某个错误所需花费的精力会成指数级增加。
程序的复杂度会一直增长,直到超出维护它的程序员的能力为止。
一段你自己写的代码如果几个月不曾看过,重读的时候还不如当作是别人写的代码去理解。
在每个小程序里都会有一大段代码想要破壳而出。
你越快开始编写代码,就会需要越长的时间。
一个项目如果没有精心策划,那将需要比预期多出两倍的时间来完成它;相反的,如果项目是精心策划过的,就只需要多出一倍的时间。
向一个落后于进度的项目添加程序员只会让项目更加落后于进度。
一个程序的完成程度总在90%到95%之间。
如果你让一团糟糕的代码自动化,那你就会得到一团自动化的糟糕的代码。
建立一个连傻瓜都会使用的程序,而只有一个傻瓜才想要去使用它。
用户直到他们使用了一个程序之后才知道他们究竟想要的是什么。
分享到:
相关推荐
计算机编程的24条法则是一组旨在提升编程质量和效率的准则,这些法则涵盖了软件开发的多个方面,包括异常处理、代码编写、测试、文档、优化和项目管理。下面是对每一条法则的详细解释: 1. **致命的异常中止决不...
计算机编程语言的发展过程是一条漫长而复杂的道路,从最早的机器语言到现在的高级语言,计算机语言的发展历程伴随着计算机技术的发展。下面,我们将从自然辩证法的角度探讨计算机语言的发展历程,分析其发展历史、...
### 成为编程高手的二十二条军规 #### 军规一:充实的大学生活 - **要点**:大学是学习和个人成长的关键时期。利用这段时间学习专业知识和个人兴趣领域,避免虚度光阴。 #### 军规二:专业的重要性 - **要点**:...
六、一条通用的英语单词构造规律,瞬间让您记忆英语单词的速度加快十倍; 七、只要您有记忆不住的编程、计算机英语单词,都可以通过我们的网站http://bc.english-word.cn/平台提问,我们将及时给出快速记忆方法; 七...
斐波那契数列的规律是每一项等于前两项之和,代码中通过循环计算并输出前21项的斐波那契数。 9. **交换变量的值**:在Python中,可以使用元组的解包特性来交换两个变量的值,无需引入临时变量。函数exchange接受两...
六、一条通用的英语单词构造规律,瞬间让您记忆英语单词的速度加快十倍; 七、只要您有记忆不住的编程、计算机英语单词,都可以通过我们的网站http://bc.english-word.cn/平台提问,我们将及时给出快速记忆方法; ...
【标题】"ccf编程题.rar"所包含的是中国计算机学会(CCF)在2013年至2019年间举办的多次竞赛的第一题和第二题的题目集合。这些题目涵盖了从小规模到中大规模再到大规模的各类问题,旨在测试参赛者的编程能力、算法...
概率论是数学的一个分支,研究的是随机事件的概率和统计规律。概率论在计算机领域的应用非常广泛,例如:机房遭受病毒攻击的记录分析、计算机系统各部件发生故障的可能性计算等。 五、线性代数 线性代数是数学的一...
**解析:** 矩阵旋转是计算机科学中的一个经典问题。通常,解决此类问题的方法有两种:一是通过原地修改矩阵来进行旋转;二是创建一个新的矩阵,然后将原矩阵的元素按照旋转后的规则填充到新矩阵中。此题中给出了一...
《西南交通大学计算机程序设计基础-实验10-C++》这篇实验报告主要涵盖了四个C++编程任务,旨在加深学生对二维数组使用和基本算法的理解。以下是这四个任务的详细解析: 任务1:要求从键盘输入一个5*5的整型数组,并...
"编程教育的重要性" 在当今社会,编程教育变得越来越重要。随着世界的变化,教育模式也需要改变。...编程教育不仅仅是学习计算机语言,更重要的是学习“编程思维”,以及如何独立思考解决问题的能力。
二进制算术运算的基本规律与我们熟悉的十进制运算有很强的相似性,只是在进位规则上有所不同。 首先,我们来看二进制加法。二进制加法共有四种基本情况,类似于十进制的加法,但进位规则不同。当两个二进制位都是0...
8253是一种广泛应用于计算机系统中的可编程定时器/计数器,主要用于处理与时间相关的任务,如定时、计数等。本篇文章将围绕一个具体的示例程序来详细探讨8253的工作原理以及如何通过编程来实现计数器的功能。 #### ...
这门课程的设立源于计算机科学和技术的飞速发展,自1946年第一台电子计算机诞生以来,计算机已经深入到生活的各个领域,成为信息处理的核心技术。 课程背景强调了计算机技术对社会的深远影响,不仅在物质层面改变了...
这个问题是经典的斐波那契数列(Fibonacci Sequence)问题,它在计算机科学和数学中有着广泛的应用。斐波那契数列是由意大利数学家列昂纳多·斐波那契提出的,其定义是这样的:序列中的每个数字是前两个数字的和。...
理解这些转换规则对于编程、数据分析以及硬件设计至关重要,因为计算机内部的所有计算都是基于二进制进行的。当我们从用户界面输入十进制数,计算机内部会自动将其转换为二进制,执行计算后再转换回十进制显示给我们...
这些问题展示了计算机编程中的基础算法应用,包括遍历、条件判断、数值计算以及可能的数学优化。它们体现了计算机在解决复杂计算问题时的效率和准确性,同时也提醒我们,即使是看似简单的数学规律,也可能隐藏着丰富...
青少年软件编程(Scratch)等级考试是对青少年进行计算机编程教育的重要环节,其目标是培养孩子们的逻辑思维能力和创新能力。Scratch是一款由麻省理工学院(MIT)媒体实验室开发的面向儿童的图形化编程工具,它通过积木...