软件开发的“差不多”精神

人造的特点:

(1)“没有对错”,没有什么绝对的对或错,而只有所谓的“好”或“坏”,“有意义”或“没意义”。

(2)不同的人观察同样的现象,得出的结论可能不一样,甚至完全相反,同数人认同的成为标准,少数服从多数。

神造的特点:

(1)具有精确、绝对的属性。

(2)不依赖于人的主观判断,通常违反人的直觉。

计算机是人造的科学,软件没有任何精确可言,是十足的“差不多”学科,它没有对与错,只有好与坏。我们设计软件的时候,

也是觉得差不多就可以了,没有什么精确的追求。许多的设计都是各种折中的结果,到处体现着“差不多”的精神。

作为程序员自然需要抱着一种“差不多”的态度,如果一切吹毛求疵,工作会非常痛苦。

软件开发的“差不多”精神

时间: 2024-10-14 14:34:08

软件开发的“差不多”精神的相关文章

软件开发到底是怎么一回事呢?

人生得一良友不易,友人是做数据库DBA(运维方向)出生,对软件开发算是没有什么经验,但是最近手头却有点儿事让它对软件这件事开始有了兴趣.于是就问我这个问题.我呢,水平很差,这么大的标题丢过来,怎么回答呢?好在友人给明确了方向: 代码管理,版本控制,补丁管理,架构设计,模块划分,接口设计,报错编码制定,日志设计,测试方法,安全管控,性能规划 然后我就根据这些,作答如下,既然写了这么多,就拿出来和大家分享. 1.代码管理,版本控制,补丁管理对于单一产品的公司,其实问题就是各种迭代和这些迭代的管理.首

敏捷软件开发VS传统软件工程

敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作.面对面的沟通(认为比书面的文档更有效).频繁交付新的软件版本.紧凑而自我组织型的团队.能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中"人"的作用. 本文将介绍敏捷软件开发的历史背景与发展,

让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机

第3部分 软件研发工作总结 首先是为人编写程序,其次才是计算机 "首先是为人编写程序,其次才是计算机",这是软件开发的基本要点,软件的生命周期贯穿于产品的开发.测试.生产.发布.用户使用.版本升级和后期维护等长期过程中,只有易读.易维护的软件代码才具有生命力. 在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写出来的代码只能让计算机看懂,人要看懂很不容易.更有甚者,有些项目组为了赶进度,明确要求组员以实现产品功能为主,代码能

自考之软件开发工具

前言 自从开始自考的学习后,每天两个番茄的学习时间.自从开始这个计划后,发现学习压力没有那么大了.还想起以前复习时的辛苦,总是到考试眼前了才开始准备,于是结果可知-每次都是身心疲惫的进入考场,考试没自信,更多的是知识没有给自己留下印象.就好比你去约会,第一次俩人聊的挺开心的,回去后你竟然把人家给忘了,这怎么能行呢? 为何在考前一个月就考试准备呢? 这就好比是马拉松比赛,如果你口气跑完你什么感觉,而如果你能把目标分解的话,每天跑那么小会,你一定可以坚持到最后的.并且你还可以把你多余的时间分配到其他

敏捷软件开发的12个原则

作为一个软件工程师,软件设计和开发是最重要的技能,但是,从整个产品的角度上讲,项目管理能力比开发能力更重要,本文摘自Robert大叔的<敏捷软件开发>,粗体是Robert大叔的话,细体是我的理解. 1.持续.尽早交付有价值的软件以满足客户,是我们优先要做的首要任务. 以逐渐增加功能的方式经常性地交付系统和最终质量之间有非常强的相关性.交付得越频繁,最终产品的质量就越高. 自顶向下地设计软件,按照功能优先级逐步开发,定期交付可运行的版本.这个原则看起来简单,但是对软件设计有非常高的要求,因为随着

我是如何学习软件开发的

这是一个科技高速发展的时代,也是新技术层出不穷的时代,对于软件开发人员或想要成为软件开发人员的朋友来讲,也许面对眼花缭乱的技术,学习起来无从下手,本文,我将结合自己近二十年软件开发的学习经历,和大家分享一下.首先,先说明一下我当前进行开发的主要两个技术环境: .NET环境,主要使用C#编程语言,常开发的项目类型是"窗口+数据库"或使用ASP.NET开发Web项目(这也要求对HTML.CSS.JavaScript和美工有一定的研究). iOS App,使用Objective-C加Spri

敏捷软件开发(Agile Software Development)的上位史

敏捷软件开发(Agile Software Development)的上位史 所谓敏捷,最常见的用法,便是用来形容动作的迅速与思维的活跃了,但若是给"软件开发"这个计算机行业的术语强行戴上一个"敏捷"的帽子,读者见了十有八九会一脸懵逼:厉害了我的哥,软件开发怎么还能"敏捷"了? 从上面的漫画可以看出,"敏捷软件开发"并不是要求开发人员练出像猴一样的敏捷身手(当然如果读者真的是一位身手敏捷的程序"猿",那就更

软件开发中的自测及C代码示例

在软件开发中,程序自测是一个永远都绕不开的话题.很多开发人员以写出有难度的代码为荣,但却不重视对自己编写的代码进行测试,这导致了最终到达客户手中的产品质量不高,bug频发,损害了公司的形象.对于一个开发人员来说,我们应该将开发和自测置于同等重要的地位,我们花在自测上的时间要不比开发少.能否对自己编写的代码进行充分的自测也是检验一个开发人员水平高低的标准之一. 自测方法 根据所编写的程序的特点,自测方法大致有如下几种: 第一种,利用模拟工具进行自测.这种方法适用于需要其他模块(尚不具备)发过来的消

你真的适合做软件开发吗

前段时间一个朋友跟我说,他说做软件开发不仅累,而且从来不跟人接触,整天要对着电脑研究代码.整个人都完全脱离社会了,自己都快变成代码了. 我笑着以一个过来人的身份对他说,你现在后悔了吧?!天下没有后悔的药,若想不后悔,就必须对将来要做的事情有个了解,这就好比商人投资某个项目一样,必须做好深入的考察后,才能进入,否则就凭着一腔热情,失败在所难免. 软件开发行业曾一度被各大媒体报渲染我21世纪的昭阳产业,人才缺口达到多少多少等等.听的大家是蠢蠢欲动,摩拳擦掌恨不得卯足劲冲进去好好干一番事业.然后各种媒