浅谈程序员该具备的自我修养

各行各业的工作者,都有其要求,那么作为程序员,我们又该具备哪些素养呢?博主在这里浅谈个人看法,如有不当之处,请大佬们指正。

一、知识储备

1、数学

或许在很多人看来,学计算机用不到什么数学,最多也就是一百以内的加减乘除,用在for循环、数组索引之类的上面。但其实不然,大部分人这样觉得是因为基本都工作在应用层,所以相对而言,用到的数学知识会比较少,也比较浅显。

而当从应用层更深地学习研究时,就需要一定的数学能力了。

2、计算机

1)操作系统

操作系统(OS)是配置在计算机硬件上的第一层软件。是对硬件系统的首次扩充。所有编程语言的开发以及应用程序的运行,都直接依赖于操作系统的支持。文件系统。进程等桌面编程中的场景大都来源于操作系统的定义和概念。因此完整地了解操作系统的起源和组成以及运行逻辑,对多线程、复杂界面、文件管理以及一些难以正常理解编程思路等开发中遇到的场景,有非常大的帮助,不仅帮助理解,也能掌握更多有效的程序写法。

2)汇编语言

汇编语言是一般程序员能为机器编程的底层语言(现代的CPU/GPU还是会把指令再分解成微指令),所以学习汇编能让程序员知道机器在软件层面上的最底层操作。那么,熟悉汇编后,可以更容易理解C/C++/OC这类语言如何在机器上执行。一些有经验的程序员,看汇编时可以快速反映为C/C++代码。这些经验和知识有很多好处:

  1. 性能优化:在设计及编码中能考虑到底层的执行方式,从而编写出高性能的代码
  2. 深度调试:遇到一些崩溃火其他问题时,在没有调试信息下也可以找到问题所在。有时候遇到编译器本身的错误,单凭研究源代码无法定位。
  3. 工具开发:可以实现AOT/JIT编译、native调试器、内存/性能剖析工具等

3)编译原理

编译原理蕴涵着计算机学科中解决问题的思路、抽象问题和解决问题的方法。编译原理课程的学习有利于加深对程序语言的理解,可以帮助我们更加快速地掌握新的语言工具;课程中包含了很多软件技术,程序设计语言编译程序构造的基本原理和实现方法是软件的核心技术之一。同时编译原理中的词法分析、语法分析等内容对自然语言处理领域有大用处,是计算机基础。对模式识别(模式串的分析、匹配)、人工智能的学习也有帮助,对我们写代码、了解程序本质也有着举足轻重的作用。

4)数据结构

在计算机界流传着这么一个公式:程序 = 算法 + 数据结构,数据结构对我们的重要性不言而喻。数据结构记录了我们如何对数据进行存储,以及数据之间的关系,是我们的程序的基石。

5)数据库

数据库是数据管理的有效技术,是计算机科学的重要分支。现如今,信息资源已成为各个部门的重要财富和资源,因此作为信息系统核心和基础的数据库技术受到越来越广泛的应用,越来越多的应用领域采用数据库技术来存储和处理信息资源。特别是随着互联网的发展,广大用户可以直接访问并使用数据库,例如网购。数据库已经和我们密切相关,我们开发过程中更加离不开数据库的使用。

3、英语

很多人觉得计算机编程不需要很多英语知识,所以觉得英语就不重要,博主认为这观点有失偏颇。虽然我们在编码过程中所使用的英语很少,但我们仍应该学好英语。首先,目前很多的资料原版都是英文的,而翻译过来的有相对一部分和原版相差比较大(当然,也有一部分翻译的还是不错的)。其次,随着经济全球化的发展,我们难免需要与外国人打交道,日常沟通、合作等,这都需要我们有一定的英语能力。

二、信息检索能力

我们在学习、生活、工作中,都需要检索一些信息,如果我们有比较好的检索信息的能力,那就可以大大提高我们的检索效率,让我们更好更快地完成我们要做的事。

三、独立思考的意识

在我们的身边,有一部分人总是期待别人帮他做好一些事情。每次遇到困难,第一时间不是自己想办法解决,而总是找别人帮忙。这样的人,缺乏独立思考的意识,很难成长起来。独立思考的意识,是指当我们遇到问题时能独立思考,自己寻找解决方式而不是一味地靠他人,这说起来简单,做起来却并非那么简单。

四、好的编程习惯

1、习惯使用快捷键

快捷键可以帮助我们更快更好地进行编码,可以提高我们的编码效率,如果可以使用快捷键代替所有的鼠标操作,想想那会为我们提高很多效率。

2、习惯于写注释

很多人不愿意在编码过程中写注释,总觉得这是浪费时间的事情。事实上,写注释是很好的习惯,可以帮助我们在经过很长一段时间再去看代码时能够更快地看懂那些代码,同时也方便别人去读我们写的代码,毕竟很多开发中不仅仅是一两个人进行开发,是需要团队合作的。

3、习惯于数据备份

“永恒之蓝”相信给很多人留下了深刻的印象,很多人的数据因此丢失了。但如果经常进行数据备份,那么在面临这样的问题时,就能减少我们的损失。同时,计算机作为电器,抛锚也是很普遍的事情,如果做好了备份,也可以帮助我们在计算机出故障时,减少不利影响的产生。

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:[email protected]

时间: 2024-10-26 22:12:50

浅谈程序员该具备的自我修养的相关文章

浅谈程序员的行业选择---程序人生

引言 本篇博文接着许久之前的一篇博文<浅谈程序猿的职业规划,看你如何决定自己的未来吧.>,继续探讨一下程序员行业相关的内容. 行业的选择不仅对于程序员来说非常重要,对任何一个人来说都是一样的.只不过对于程序员来说,行业更容易被忽略.从程序员每天热议的话题就能看出来,大部分的热议话题都是C#和Java哪个更牛B,或者IOS和Android哪个挣得钱多,很少看到程序员去讨论两个行业谁更有发展前景. 鉴于此,今天我们就来着重讨论一下程序员行业的选择,行业和语言一样,没有谁优谁劣,只是一种选择罢了.

浅谈程序员创业(要有一个自己的网站,最好的方式还是自己定位一个产品,用心把这个产品做好)

浅谈程序员创业 ——作者:邓学彬.Jiesoft 1.什么是创业? 关于“创业”二字有必要重新学习一下,找了两个相对权威定义: 创业就是创业者对自己拥有的资源或通过努力能够拥有的资源进行优化整合,从而创造出更大经济或社会价值的过程.——百度百科 创业是一种思考.推理和行为方式,它为机会所驱动,需要在方法上全盘考虑并拥有和谐的领导能力.创业必须要贡献出时间.付出努力,承担相应的财务的.精神的和社会的风险,并获得金钱的回报.个人的满足和独立自主.——互动百科 两者都给出了明确的创业定义,这里想着重想

转:浅谈程序员的英语学习

转自:http://www.cnblogs.com/haoyifei/p/5687235.html 浅谈程序员的英语学习 作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪.但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的.英语对于程序员十分重要.我的大学本科全部采用英文教学,工作时也经常会遇到外国人,和他们谈笑风生,自认为自己的英语水平比园子的平均水平高一点.下面我就根据自己的经验来说说英语的学习方法. 为什么要学习英语 学好英语你可以直

浅谈程序员的英语学习

作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪.但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的.英语对于程序员十分重要.我的大学本科全部采用英文教学,工作时也经常会遇到外国人,和他们谈笑风生,自认为自己的英语水平比园子的平均水平高一点.下面我就根据自己的经验来说说英语的学习方法. 为什么要学习英语 学好英语你可以直接阅读各种经典书籍的原文版.程序员这个行业之所以特殊,就是因为它所有的技术全部来自欧美,所以最主流,最新鲜,最正确的技术文

分享8年开发经验,浅谈程序员职业规划

原文出处: 风尘浪子 在中国有很多人都认为IT行业是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有8年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下. 明确入行的目的 很多人干IT这一行都冲着“收入高”这一点的,因为只要学会一点HTML.DIV+CSS,要做一个页面开发人员并不是一件难事,而且做一个页面开发人员更容易找到工作,收入比普通的工作还要高一些,所以成为了很多高校毕业生的选择.如果您只是抱着这样一个心态来

浅谈程序员的薪资和工作经验

很多人都会问关于PHP/Java程序员薪资与工作经验年限的内容,无论是在就业论坛的评论还是作为网上流传的指导性文章,都会涉及这方面的问题.例如, 有人知道3年Java/ JEE工作经验的工资是多少吗? 本人拥有10年Java/ JEE工作经验并且懂Spring.Struts和Hibernate,提多少薪水比较合适? 请发我一些关于拥有多年经验的面试问题,谢谢. 对于那些只有一两年工作经验的入门新手,讨论这个问题或许还有点意义.但是要你已经有至少3年以上的工作经验,那答案就非常主观了,这完全取决于

浅谈程序员接私单那点事及接私单需要注意的问题

转: 本文版权归作者(谢俊)和博客园所有,欢迎转载,转载请标明出处. 原文地址:http://www.cnblogs.com/net-xiejun/ 微信开发群 完整源码下载:https://github.com/xiejun-net/weixin 关于接私单我的个人经历 先声明:我已经在公司上班,不会再接任何私单,勿扰! 13年刚毕业在一个三线都不算的小城市做.net 程序开发,由于实习做过java和C但是没有做过.net 且大学也没有接触过.net(那个城市几乎只有.net和php的开发工作

谈程序员的自我修养

最近,无意中看到一本书,叫作<程序员的自我修养>,书名很吸引我,翻开看时,却发现里面的内容多是有关Windows底层技术的介绍,比如编译器.链接库的原理,运行库的实现等等.可能是自己不常做Windows编程的缘故,便觉得索然,不愿再往下读了.反而是这书名倒让我起了些意见,明明应该叫作"深入Windows开发核心"之类,却被冠以"程序员自我修养"的名字,确有些言过其实了吧. 我也曾写过些文章,多是教程序员们如何摆弄新鲜技术,或是谈些有关职业与个人发展的话题

也谈程序员的自我修养

最近,无意中看到一本书,叫作<程序员的自我修养>,书名很吸引我,翻开看时,却发现里面的内容多是有关Windows底层技术的介绍,比如编译器.链接库的原理,运行库的实现等等.可能是自己不常做Windows编程的缘故,便觉得索然,不愿再往下读了.反而是这书名倒让我起了些意见,明明应该叫作“深入Windows开发核心”之类,却被冠以“程序员自我修养”的名字,确有些言过其实了吧. 我也曾写过些文章,多是教程序员们如何摆弄新鲜技术,或是谈些有关职业与个人发展的话题,但对于程序员们的生活以至修养却从未敢说