提前认识软件开发(1) 序言

序言

正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多。“万事开头难”,学生转变为职业人的过程,恰似茧化成蝶的过程。

1.为什么要写作本系列?

在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求。像编码规范、研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要。

在学校里面,我们欠缺的教育主要包括以下方面:

第一,对编码规范的要求。计算机编程课上,老师只要求学生能够编写程序实现既定的功能即可,几乎不会对编码规范提出要求,而编码规范是一般软件项目最最基本的要求。

第二,对动手能力的要求。学校里面学完一门课程之后,只要考试通过就行了,至于这门课程有什么实际的用途,很少有人关心。这就导致很多人考试得了高分,但让他们动手编写一个程序就出现了困难。一般的软件公司对个人的动手能力是十分看中的,这就是为什么他们喜欢招有工作经验的人的原因。

第三,对研发流程的讲授。学校教育与实际工作脱节,这是一个长期的、普遍存在的问题。学校里面老师只会教学生怎样写出代码,但不会教他们一个实际的软件项目是怎么回事。其实,编码只是软件研发中一个很小的部分,而诸如设计、测试等会占据很大一部分时间。

第四,对团队精神的培养。老师一直教导我们要独立完成作业,考试的时候不要交头接耳。而公司里面,我们是在一个团队里面工作,我们要与各个成员合作来完成任务或解决问题。很多程序员都缺少较强的与人沟通交流的能力,这是学校教育的一大缺陷。

第五,对情商的培养。在学校里面,只要你考试得了高分,不违法乱纪,那么你就是一个好的学生。但在工作岗位上,除了工作,我们要与不同的人打交道,还会遇到很多问题,这些都是对个人情商的考验。很多人在学校里面表现得很优异,但在工作中一遇到困难就怨天尤人、哀声叹气的,这就是缺少了在情商方面的锻炼。

我也是一样,在走出校门的时候踌躇满志,以为世界尽在我手中。但在工作上遇到一系列问题之后,我逐渐改变了自己对人对事的很多看法。作为过来人,我觉得自己有义务将所学到的经验分享给大家,让大家在软件开发这一条道路上走得更顺畅一点。

2.本系列的组织结构

由于我现在的工作主要涉及到C语言和数据库技术,因此文章中的大部分内容都与它们相关。本系列包括以下三个部分:

第一部分,重新认识C语言。以编码规范为基础,对C语言的发展历史、特点、程序版式、注释、变量和函数命名、异常保护、指针、结构体等诸多内容进行了详细的讲解,并对工作中经常用到的C文件操作、配置文件、算法、日志、协议等进行了一定的介绍。本部分旨在让大家了解C语言在实际工作中到底是怎么用的。

第二部分,数据库SQL语言。同第一部分一样,该部分也强调编码规范及代码的易阅读性。本部分的内容包括:注释、程序布局、数据表、索引、存储过程、数据库的维护以及如何修改脚本以实现需求等。

第三部分,软件研发工作总结。本部分以作者的实际软件开发经验为基础,并基于软件产品的生命周期来介绍软件项目中涉及到的重点问题,包括:软件需求、开发与测试、同行评审、文档编写、故障处理等。本部分可以带领读者进入一个实际的软件开发项目,让你真切地感受到软件开发项目到底是怎么一回事,是否与你之前的认识有区别。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

3.本系列的特色

本系列组织架构清晰,内容简洁明了,主要有以下特色:

第一,各部分中的各篇文章主题独立,读者可以从任何一篇文章看起而不影响阅读效果。

第二,少用文字,而多用图形和示例来阐述各个主题的内容,以更加直观的方式来加强读者的理解。

第三,文章中有诸多的源代码,均是严格按照编码规范进行书写,这有利于读者参照来规范自己的相关程序代码。

4.本系列的目标读者

作为入门级的软件开发指南,本系列的目标读者主要包括以下三类:

第一类,高校在校计算机专业学生。通过对该系列的学习,可以加强对相关课程的理解,并提前对软件开发工作有一定的认识。

第二类,即将走出校门踏上工作岗位或正在找寻工作的应届毕业生。本系列可为你的面试添砖加瓦,让你在求职和就业的道路上快人一步。

第三类,刚入职的应届毕业生。通过对本系列的阅读,可以让你提前了解软件项目中存在的诸多问题并掌握解决这些问题的方法,让你的工作更加的的得心应手。

“活到老,学到老”,这句话对于软件工程师来说,是再恰当不过的了。那就让我们一起学习,一起经历工作中的酸甜苦辣,一起书写不一样的程序员人生吧!

雄关漫道真如铁,而今迈步从头越!

时间: 2024-08-01 15:23:05

提前认识软件开发(1) 序言的相关文章

让你提前认识软件开发(1):序言

序言           正式踏上软件开发岗位已经将近两年了,经历了很多,也学到了很多."万事开头难",学生转变为职业人的过程,恰似茧化成蝶的过程.          1.为什么要写作本系列?        在工作的过程中,我发现我们在学校里面学到的很多东西片面肤浅,根本达不到岗位的要求.像编码规范.研发流程等等学校里几乎不提及的知识,在实际的软件开发项目中却恰恰是异常的重要.        在学校里面,我们欠缺的教育主要包括以下方面:        第一,对编码规范的要求.计算机编程

提前认识软件开发(33) 数据操纵语言(DML)

数据操纵语言(Data Manipulation Language,DML)包括insert.delete和update语句,用于增.删.改数据. 本文用以下的表tb_employeeinfo作为例子加以说明: create table tb_employeeinfo ( employeeno varchar(20) not null, -- 员工工号 employeename varchar(20) not null, -- 员工姓名 employeeage int null -- 员工年龄

提前认识软件开发(16) 如何对程序进行优化

对程序进行优化,是软件开发工程师必然会涉及到的问题.那么为什么要对程序进行优化呢?原因有以下几个: 第一,在原程序基础之上新增.删除或修改了功能,需要改变原程序流程.客户需求随时可能会变化,今天已经实现的功能,说不定明天就要修改或去掉.落实到程序上面,就需要我们随时准备对写好的代码进行修改,而不要奢望写好之后就永远不要动了. 第二,原程序有bug.这类情况出现得非常的频繁,很多软件有1.0.2.0.3.0等版本,部分原因就是前面版本中程序有问题,在修改程序的过程中使得软件版本不断升级. 第三,原

让你提前认识软件开发(40):既要写好代码,又要写好文档

第3部分 软件研发工作总结 既要写好代码,又要写好文档           对于软件相关行业,在学校或单位上,大家也许都已经注意到了,除了要编写的程序.绘制设计图之外,还有一个重要的工作便是写文档.为什么要写文档呢?因为我们要把自己做的东西展示出来,不光展示给同行看,可能还要展示给其他岗位上的工作人员看,甚至展示给用户看.如果我们只是会写程序,不会在文档中描述自己的想法,那么就真正的成为"码农"了.         工作也有一段时间了,我发现周围的同事,会写高质量文档的确实很少.李开复

让你提前认识软件开发(47):同行评审

第3部分 软件研发工作总结 同行评审            在<浪潮之巅>这本书中,吴军老师描述了在Google早期的工作方式,其中有一段是这么写的:我一般会在吃完晚饭后把代码修改的清单发给克雷格做代码审核,他一般晚上10点左右会回复我,给我修改意见,详细到某一行多了一个空格.         吴军老师所描述的内容,其实就是软件开发中的同行评审流程.         几乎在所有的软件项目中,都需要同行评审.一个人不管能力多强,看问题的角度总会受到限制,写出来的程序和文档等定不会是十全十美的.如

提前认识软件开发(2) 软件开发工程师常用的工具软件

有一次,我打开电视机准备随便看看,无意中被一部战争片吸引住了.成千上万的共产党战士搭起云梯,想攻破一座城池.但是城楼上面的敌人负隅顽抗,拼了命地阻击我军的进攻.双方的伤亡都很惨重,但城就是攻不下来.眼看我军剩下的人不多了,突然不知从什么地方开出一辆坦克,两炮就把城门轰开了.我军趁势攻入城中,将敌人全部歼灭了. 这类电视剧比较常见,相信大家看了不止一次.但是,我看完之后,那个场景还一直留在我的脑海里.成千上万的人不如一辆坦克来得直接,说明了什么问题呢?我立马想到了一句古诗:工欲善其事,必先利其器.

提前认识软件开发(29) 数据库脚本文件的布局

"没有规矩,不成方圆",规范数据库脚本文件的代码布局具有以下重要意义: (1) 可表现出代码良好的逻辑结构,提高代码的准确性.连续性.可读性及可维护性. (2) 有利于提高产品的开发质量和效率,并降低开发成本. (3) 对于开发人员来说,养成良好的脚本编写习惯有助于提高个人的数据库脚本编程水平,进而提高脚本编程效率. 可见,统一的.良好的脚本代码布局和风格不仅仅是个人主观美学或形式上的问题,而且影响到产品的质量,并涉及到自身脚本编程能力的提高. 1. 脚本布局顺序概述 在实际的软件开发

提前认识软件开发(25) 数据库简介

数据库是个通用化的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性.目前,国际上主导的大型数据库管理系统有ORACLE.SQL SERVER.SYBASE.INFORMIX和INGRES等. 数据库中常用的编程语言是SQL语言,按其功能可分为四大部分: 开发(25) 数据库简介-tcga数据库简介"> (1) 数据定义语言(Data Definition Language,DDL),用于定义.撤销和修改数据模式. (2) 数据查询语言(Data Query

提前认识软件开发(15) 程序调试的利器:日志

如果世界上有一个人能够保证一次写出来的代码是百分之百正确的,那么毫无疑问,他一定是世界上最优秀的程序员,没有之一.为什么要求代码写好过后要进行充分的自测(包括单元测试和集成测试)?就因为是人皆会犯错,是程序就会有bug.作为一名软件开发人员,必须要学会对程序进行测试,也就是要学会程序的调试. 一般而言,对代码的调试有以下几种方法: 第一,凭肉眼看.在开发阶段,我们编写的每一行代码都需要用我们的"火眼金睛"多审查几遍.如果要问,最好的代码调试工具是什么?我认为是人眼.不管是代码还是文档,