`

程序猿基础

 
阅读更多

程序的基础是什么

作为一个程序猿,至少60%的工作时间是在与代码打交道,不管是自己写代码还是读别人的代码,还是学习新的技术,都会花大部分的时间操作代码。

试问一下,作为一个程序猿,你写代码的目的是什么?当然养家糊口是必然的。但是除了这个之外,很多人应该会觉得:写代码当然是为了实现程序功能!

我们都学过很多计算机基础课程,什么计算机原理啊,编译原理啊很多。我们可以回忆一下代码的工作方式:

1. 首先,我们会选择一种编程语言,不管这个语言是什么,对计算机来说最终的结果是一样的:二进制文件

2. 选好了编程语言之后,我们会选择一款合适的IDE,比如Eclipse,Visual Studio,然后在里面敲代码,敲完代码之后让IDE编译成一个二进制文件

3. 运行二进制文件,执行程序功能

从上面的工作流当中,以程序猿的逻辑来看,实现程序功能的并不是代码,而是由二进制文件实现的。代码的主要作用是告诉编译器,我需要一个实现这些程序功能的二进制文件。

所以代码的主要功能是把功能需求翻译个编译器

但是编译器是很牛B的,你把你的所有代码写成一排,或者按照要求的缩进换行,对它来说没区别

不过写成一排的代码可能没有人能看懂,包括作者自己

基于上面的分析我们再来回忆一下我们的日常工作:

1. 我们需要实现一个功能,大概想一下怎么实现

2. 实现这个需要使用到系统接口A,我们跳转到接口A去查看它的使用方法

3. 使用接口A需要传递一个参数B,获取参数B需要使用另一个人的模块里面的方法C

4. 跳转到方法C去查看方法C的定义

5. 写下一条语句获取参数B传递给方法A

从上面的流程我们可以大概看到,我们的日常工作当中大概有20%的时间在想,20%的时间在写,60%的时间在看代码

因此:

代码的主要作用是给别人看的,实现功能只不过是顺便而已

程序猿的基础

很多人可能觉得程序猿的基础是编程语言,什么Java,C#,C++,C语言,甚至汇编

其实这些内容都很简单,只要你熟练掌握了其中一种,要学习其他的语言都很快,基本不需要经过所谓的学习过程,查一下语法手册就可以开始了

也有人觉得程序猿的基础是算法,思想

这些确实很重要,在学习这些内容的时候可以慢慢的把你的思维向程序猿的方向转换,变成一根筋

但是我觉得最重要的都不是这些

程序猿的基础应该是意识,意识到写出来的代码是需要给很多人看的,包括同事,自己或者以后需要维护这些代码的程序猿们,为了方便这些人,就需要把代码写得清晰,简单,易懂,没有歧义,易于扩展,易于修改

有了这样的意识,在写代码的过程中,为了追求对自己代码的要求,自然就会去查阅代码规范,设计模式,算法等等内容,经过一段时间之后自然就会培养出程序猿的思想

总结

写代码的时候不要为了快速实现功能就胡乱编码

不要为了少敲几下键盘就用简写,现在IDE的自动补全功能如此强大,你少打的几个字母没有任何意义,唯一的作用是让其他人看不懂

变量名取不出来名字的时候多斟酌一下,总会找到合适的名字

程序结构上,如果自己觉得不妥了,多推敲一下,设计模式的书就是这个时候用的

不要害怕重构,重构的目的就让你的代码和你的技术一起变得更好

当你对我上面提到的这些内容感到厌烦的时候,回忆一下你以前看别人的代码的时候想砸显示器的心情

分享到:
评论

相关推荐

    Java程序猿技术路线图

    Java 程序猿技术路线图 在技术方面,无论我们怎么学习,总感觉需要提升自己不知道自己处于什么水平了。但是,如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平。 Java ...

    一只程序猿告白的网页(转)

    【标题】:“一只程序猿告白的网页(转)”所蕴含的知识点 在这个标题中,我们可以看到一个程序员,通常被称为“程序猿”,利用自己的技术技能制作了一个特别的告白网页。这涉及到以下IT知识: 1. **网页开发**:...

    2016年 年度个人总结程序猿

    ### 2016年度个人总结程序猿的关键知识点 #### 一、技术层面的收获 1. **需求分析** - **重要性认知**:在项目执行过程中,深刻认识到不可低估任何项目的规模,即便是看似小型的项目也需投入充分的关注与细致的...

    程序猿的告白

    《程序猿的告白》这个主题,显然与程序员的生活、情感表达以及可能涉及的技术工具有关。在这个场景中,"程序猿"是程序员的自嘲式昵称,它揭示了这个群体在工作之余,也有着自己的情感世界。下面将详细讨论相关知识点...

    Spring Cloud基础教程 - 程序猿DD - 第一版

    最早最好的Spring Cloud教程,程序猿DD博客整理版,非常适合入门阅读!

    程序猿ProMonkey.7z

    "程序猿ProMonkey.7z" 是一个压缩文件,很可能包含了一个名为 "程序猿ProMonkey" 的项目或软件的相关源代码。"源码" 标签提示我们,这个压缩包内的主要内容是编程语言编写的原始代码,可能是为了开发、学习或者调试...

    史上最全的面试资料.zip程序猿找工作必刷题

    在准备程序员面试的过程中,了解并掌握相关领域的基础知识和技能至关重要。这份名为“史上最全的面试资料.zip”的压缩包,显然是一份集大成的资源,旨在帮助程序员们为找工作做好充分的准备。其中包含了C语言的面试...

    程序猿简历模板

    在IT行业中,简历是展示个人技能、经验及项目成果的关键工具,尤其对于程序猿(程序员)来说,一份高质量的简历可以极大地提升求职竞争力。"程序猿简历模板"提供了全面覆盖不同技术领域的专业简历示例,包括Java、...

    java程序猿面试宝典百问

    《Java程序猿面试宝典百问》是一本专为Java程序员设计的面试指南,旨在帮助求职者全面了解并掌握Java领域的核心知识,从而在面试中展现出扎实的技能和深厚的理论基础。这本书涵盖了从基础语法、面向对象编程、集合...

    如何做个优秀的程序猿

    了解数据库设计、操作系统原理、数据结构和算法等基础知识,这些都是构建高效软件的基础。 5. 管理与沟通:学会与团队协作,有效沟通是关键。管理者能够协调资源,确保项目按期完成,而不仅仅是编写代码。 6. 实践...

    如何决定自己的未来:浅谈程序猿的职业规划.docx

    ### 如何决定自己的未来:浅谈程序猿的职业规划 #### 引言 本文旨在探讨程序猿(即程序员)的职业规划,帮助他们更好地规划自己的职业道路。文章从职业规划的重要性和基本概念入手,深入分析了几种典型的职业发展...

    程序猿接单宝典

    《程序猿接单宝典》是一本专门为程序员提供接单指南的书籍,作者凭借其在外包行业积累的十年经验,分享了从寻找项目到成功收款的全过程策略。这本书旨在帮助程序员们更好地理解并掌握接单流程,从而实现自我价值的...

    小游戏“程序猿大战产品狗”源代码,参考(抄袭)了浅墨大神的代码“勇士斗恶龙”

    总的来说,“程序猿大战产品狗”是一个结合了C++基础知识、面向对象编程、游戏逻辑和图形渲染的综合项目。通过分析和学习这个游戏的源代码,初学者不仅可以掌握C++编程,还能了解到游戏开发的基本流程和技巧,为今后...

    程序猿大战Python-开发第1个Python程序

    "程序猿大战Python-开发第1个Python程序"这个主题,旨在引导初学者迈入Python编程的世界,通过实际操作开发第一个Python程序来熟悉语言的基本用法。 首先,我们需要了解Python的安装。Python通常提供官方的可执行...

    程序猿心形表白源码

    "程序猿心形表白源码"就是一个很好的例子,它利用JavaScript(js)这一强大的前端编程语言,为程序员们提供了制作浪漫表白页面的工具。接下来,我们将深入探讨这个主题,了解如何通过JavaScript实现这种创意的表达。...

    小码哥程序猿高阶必备书籍编程原理之三大经书共4页.pdf

    【标签】"小码哥程序猿高阶必备书籍编程原理"进一步确认了这份资料的目标读者是已经有一定基础的程序员,特别是那些渴望深化编程理解、提升技术能力的小码哥。编程原理是程序员提升到更高层次的关键,它涉及到数据...

    java程序猿必备开发文档

    以下是一些Java开发中核心的知识点,这些知识点在"java程序猿必备开发文档"中可能会涵盖: 1. **Java语法基础**:包括变量、数据类型、运算符、流程控制(如if-else,switch,循环)、函数和类等。理解这些基础概念...

    动画爱心 程序猿的浪漫

    "动画爱心 程序猿的浪漫"这个主题揭示了一个程序员通过代码创造的特别方式来表达情感,尤其是在情人节或者其他特殊场合,他们可能会用编程技能来制作一份独特的礼物——一个动态的爱心动画。这种做法不仅展现了技术...

    程序猿的表白神器

    【程序猿的表白神器】是一种巧妙地利用编程技术来表达情感的方式,特别是在浪漫的情境下,为程序员提供了一种独特而有趣的方式来传达爱意。在这个项目中,主要使用了JavaScript库jQuery来创建吸引人的动画效果,使...

    程序猿炫酷个人介绍HTML源码.zip

    《程序猿炫酷个人介绍HTML源码》是一个专为程序员设计的、用于展示个人技能和经验的网页模板。这个源码充分利用了HTML5的新特性,结合CSS3的动画效果,打造出一个充满科技感且交互性强的个人简历页面。在Web开发领域...

Global site tag (gtag.js) - Google Analytics