C++复习2.软件开发知识小节
高质量的软件开发
1.满足正确性,健壮性,可靠性,性能,易用性,清晰性,安全性,兼容性,扩展性,可移植性等等来评价软件的质量。
2.没有错误的程序世间难求,任何一个程序,无论他多么的小,总是存在着错误。
3.高质量的编程就是砸干活的时候一次性编写出高质量的程序,而不是等程序处错误的时候再去处理。
4.废话大师说过一句:如果我令你很轻松的明白了那你一定是误解了我的意思。还有一种怪现象:如果把文章写的很简洁的,让人很容易明白和理解,往往投稿投不中,只有加上一些玄乎的东西,把本来简单的东西搞的负责的话,才会增加投稿命中率。
5.兼容性的商业规则就是:弱者设法于强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将会被瓜分。
6.市场价和成本价:初期的时候可以享有市场价,之后便会有其他的人投资,开始价格竞争。所以享受市场价的两种方式:从别处收购快要成型的产品;自己开发创新。
7.聪明勤劳的人应该将大部分的时间花在小比例的创新的工作上,把小部分的时间用在大比例的成熟工作中,这样才可以将事情做好做快。
8明白优化折中的思想,找到一个最佳的折中点,解决鱼和熊掌不可以兼得的问题。(鱼每千克10元,熊掌每千克10000元,有一个人想花20元吃一个熊掌烧鱼,也不是不可以)
9.成功的测试就是这个碍于发现至今没有发现的错误,而不是去验证正确性。
测试可以提高软件的质量,但是提高软件的质量是不可以依赖测试;
10.肚子疼怎么办?应该吃什么药? 应该使用眼药水,因为眼睛不好使,吃了脏东西才会肚子痛。
11.修改错误的时候,首先呀明白这个修改会不会造成其他的问题,并且要做回归测试。
12.编程语言如何选择:能解决问题的语言就是好语言。
13.技巧不要刻意使用,建议使用自然编程的方式,我们不知道自己的得意之举究竟是锦上添花还是画蛇添足。就像蒸馒头,完了之后你还在上面插上一朵鲜花,本来事项弄得诗情画意,却让人误以为是热腾腾的牛粪。
C++复习2.软件开发知识小节的更多相关文章
- Java Android程序员软件开发知识:枚举的介绍,以及代码的编写教程。
Java枚举 Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值.使用枚举可以减少代码中的bug. 例如,我们为果汁店设计一个程序,它将限制果汁为小杯.中杯.大杯.这就意味着它不允许顾客点除 ...
- [No0000138]软件开发基础知识
1. 本文目的 本文目的在于,介绍软件开发的各种基础知识 以实现,看了之后,对于软件开发的很多领域的基础知识有所了解 如此在进行后续的真正的软件开发时,遇到各种细节知识,才会明白由来和背景知识 第 1 ...
- 软件开发架构、网络基础知识、osi七层模型
一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...
- c语言程序设计案例教程(第2版)笔记(五)-软件开发基础知识
零散知识点: 软件的主要特征 软件是一种逻辑产品,而不是有型的物质: 软件需要设计.开发,但不是传统意义上的产品制造: 软件不会磨损,但软件需要维护,即:修改代码或增加模块: 虽然软件行业正在向基于组 ...
- 拿到这份 Java、C++ 软件开发完整学习路线图,我面试再也没挂过..
大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...
- 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...
- 微信应用号开发知识贮备之altjs官方实例初探
天地会珠海分舵注:随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生.从获得微信应用号邀请的业内人士发出来的一张开发工具源码截图可以看到,reacjs及其相应的FLUX框架altjs很有可能会成 ...
- 1、网络并发编程--简介、软件开发架构、OSI七层协议
python复习 变量与常量 基本数据类型 内置方法 字符编码.文件操作 函数 函数参数.闭包函数.装饰器 面向对象 封装.继承.多态 """ 什么是对象 数据与功能的结 ...
- [转] Agile Software Development 敏捷软件开发
原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 ...
随机推荐
- python将一些朋友的姓名存储在一个列表中,访问该列表中的每个元素,从而将每个朋友的姓名都打印出来
""" 3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为 names . 依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. "&quo ...
- OpenStack之Nova模块
Nova简介 nova和swift是openstack最早的两个组件,nova分为控制节点和计算节点,计算节点通过nova computer进行虚拟机创建,通过libvirt调用kvm创建虚拟机,no ...
- JS的checkbox状态切换dom无变化
今天调试checkbox,手动加上checked="checked"和去掉,都对实际页面没有产生影响 搜索一番 1.对radio .checkbox 来说说,checked属性可以 ...
- 《Java程序设计》实验2实验报告
20145318 <Java程序设计>实验2 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 ...
- Android中C可执行程序编译问题
make:进入目录'/opt/FriendlyARM/tiny4412/android/android-4.1.2'make: *** 没有规则可以创建“out/target/product/gene ...
- Scrapy 分布式数据采集方案
运行环境 CentOS7. + Python2. + Scrapy1. + MongoDB3. + BeautifulSoup4. 编程工具 PyCharm + Robomongo + Xshell ...
- An Example for Javascript Function Scoping and Closure
1. An Real World Example In the patron detail page of the CRM system I'm working with, there’re larg ...
- 采用OpenReplicator解析MySQL binlog
Open Replicator是一个用Java编写的MySQL binlog分析程序.Open Replicator 首先连接到MySQL(就像一个普通的MySQL Slave一样),然后接收和分析b ...
- docker 修改 mysql 5.7 sql_mode
docker exec -ti {容器ID} /bin/bash 进入容器 apt-get install vim 安装vim 找到 vim /etc/mysql/my.cnf 在 [mysqld ...
- ubuntu16.04 python3.5 opencv的安装与卸载(转载)
转载https://blog.csdn.net/qq_37541097/article/details/79045595 Ubuntu16.04 自带python2.7和python3.5两个版本,默 ...