软件工程师的八大基本功底

原创 2005年04月26日 15:30:00

1、扎实的基础 

数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。因此多读一些计算机基础理论方面的书籍是非常有必要的。 

2、丰富的想像力 

不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想像力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。开阔的思维对程序员来说很重要。 

3、最简单的是最好的 

这也许是所有科学都遵循的一条准则,复杂的质能转换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。 

4、不钻牛角尖 

当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。 

5、对答案的渴求 

人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。 

6、多与别人交流 

三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。 

7、良好的编程风格 

注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。 

8、韧性和毅力 

这也许是“高手”和一般程序员最大的区别。高手们并不是天才,他们是在无数个日日夜夜中磨炼出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。 

性能测试基本知识

性能测试的含义 主要是针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。 什么是性能测试 观察系统在一个特定条件下,是否能够满足预期性能目标(当前...
  • wangshufen20091651
  • wangshufen20091651
  • 2015年09月29日 16:20
  • 396

8大基本数据类型

基本数据类型 数据类型 大小 范围 默认值 字节型:byte 8位 -27 ~ 27-1 0 字符型:char 16 ‘ \u0000~u\ff...
  • Albaficahan
  • Albaficahan
  • 2015年11月18日 16:57
  • 5538

软件工程师必须掌握的知识结构

软件工程师必须掌握的知识结构       软件工程师必须掌握以下知识结构,给那些准备从事软件工程师的人一些指导。 1.编程开发工具. 至少熟练掌握两到三种开发工具的使用, 这是程序员的立身之本....
  • top_worker
  • top_worker
  • 2015年04月15日 18:17
  • 1033

Java基础学习之八大基本变量

说到Java中变量,很多人会想到汉语中的代词,当然,这种理解我也是很支持滴!那么再说的具体点,我比较喜欢用“他”或者“她”来解释变量,就像我们生活中总是会向“他”述说“她”或向“她”述说“他”.......
  • qixin1889
  • qixin1889
  • 2016年04月29日 21:21
  • 1401

java的基本数据类型有哪些java的八大基本数据类型

数据类型 大小 byte(字节)        1(8位)               (bit是比特位,一个字节占8个比特位) shot(短整型)   2(16位) int(整型)         ...
  • dianzijinglin
  • dianzijinglin
  • 2016年08月05日 10:12
  • 987

【经典排序算法】八大排序对比总结

针对前面讨论的八大经典排序算法:冒泡排序、插入排序、选择排序、堆排序、归并排序、快速排序、希尔排序、桶排序。 关于各种什么时间复杂度,空间复杂度的对比总结,网上一大堆,别人也总结的很好,这里就不赘述了...
  • yeswenqian
  • yeswenqian
  • 2014年04月03日 20:52
  • 1602

太阳系八大行星直径、质量、与太阳距离参数

太阳 直径:1,391,000 千米 质量:1.98892 × 1030 千克 水星  距太阳 57,910,000 千米 (0.38 天文单位)  行星直径: 4,880 千米  质...
  • aerchi
  • aerchi
  • 2014年07月09日 13:30
  • 6990

面向对象设计的八大原则

设计的八大原则 开-闭原则(目标、总的指导思想)Open Closed Principle 对扩展开放,对修改关闭。 增加新功能,不改变原有代码。 类的单一职责(一个类的定义)Single Resp...
  • hacker9403
  • hacker9403
  • 2017年10月11日 15:17
  • 198

一个软件工程师的7年工作经验总结

这是在网上看到的一篇文章,写的是一个从事软件工程开发的大牛对从业七年的一些经验总结。感觉挺不错,转来与大家分享了,下面是正文。 1、分享第一条经验:“学历代表过去,能力代表现在,学习力代表未来。...
  • goodmentc
  • goodmentc
  • 2015年06月03日 01:16
  • 1438

八大基础算法 自己的通俗理解

一些基础算法的理解,包括模拟法的理解。
  • cFarmerReally
  • cFarmerReally
  • 2016年08月05日 00:05
  • 1545
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件工程师的八大基本功底
举报原因:
原因补充:

(最多只允许输入30个字)