程序的基础是什么
作为一个程序猿,至少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 ...
【标题】:“一只程序猿告白的网页(转)”所蕴含的知识点 在这个标题中,我们可以看到一个程序员,通常被称为“程序猿”,利用自己的技术技能制作了一个特别的告白网页。这涉及到以下IT知识: 1. **网页开发**:...
### 2016年度个人总结程序猿的关键知识点 #### 一、技术层面的收获 1. **需求分析** - **重要性认知**:在项目执行过程中,深刻认识到不可低估任何项目的规模,即便是看似小型的项目也需投入充分的关注与细致的...
《程序猿的告白》这个主题,显然与程序员的生活、情感表达以及可能涉及的技术工具有关。在这个场景中,"程序猿"是程序员的自嘲式昵称,它揭示了这个群体在工作之余,也有着自己的情感世界。下面将详细讨论相关知识点...
最早最好的Spring Cloud教程,程序猿DD博客整理版,非常适合入门阅读!
"程序猿ProMonkey.7z" 是一个压缩文件,很可能包含了一个名为 "程序猿ProMonkey" 的项目或软件的相关源代码。"源码" 标签提示我们,这个压缩包内的主要内容是编程语言编写的原始代码,可能是为了开发、学习或者调试...
在准备程序员面试的过程中,了解并掌握相关领域的基础知识和技能至关重要。这份名为“史上最全的面试资料.zip”的压缩包,显然是一份集大成的资源,旨在帮助程序员们为找工作做好充分的准备。其中包含了C语言的面试...
在IT行业中,简历是展示个人技能、经验及项目成果的关键工具,尤其对于程序猿(程序员)来说,一份高质量的简历可以极大地提升求职竞争力。"程序猿简历模板"提供了全面覆盖不同技术领域的专业简历示例,包括Java、...
《Java程序猿面试宝典百问》是一本专为Java程序员设计的面试指南,旨在帮助求职者全面了解并掌握Java领域的核心知识,从而在面试中展现出扎实的技能和深厚的理论基础。这本书涵盖了从基础语法、面向对象编程、集合...
了解数据库设计、操作系统原理、数据结构和算法等基础知识,这些都是构建高效软件的基础。 5. 管理与沟通:学会与团队协作,有效沟通是关键。管理者能够协调资源,确保项目按期完成,而不仅仅是编写代码。 6. 实践...
### 如何决定自己的未来:浅谈程序猿的职业规划 #### 引言 本文旨在探讨程序猿(即程序员)的职业规划,帮助他们更好地规划自己的职业道路。文章从职业规划的重要性和基本概念入手,深入分析了几种典型的职业发展...
《程序猿接单宝典》是一本专门为程序员提供接单指南的书籍,作者凭借其在外包行业积累的十年经验,分享了从寻找项目到成功收款的全过程策略。这本书旨在帮助程序员们更好地理解并掌握接单流程,从而实现自我价值的...
总的来说,“程序猿大战产品狗”是一个结合了C++基础知识、面向对象编程、游戏逻辑和图形渲染的综合项目。通过分析和学习这个游戏的源代码,初学者不仅可以掌握C++编程,还能了解到游戏开发的基本流程和技巧,为今后...
"程序猿大战Python-开发第1个Python程序"这个主题,旨在引导初学者迈入Python编程的世界,通过实际操作开发第一个Python程序来熟悉语言的基本用法。 首先,我们需要了解Python的安装。Python通常提供官方的可执行...
"程序猿心形表白源码"就是一个很好的例子,它利用JavaScript(js)这一强大的前端编程语言,为程序员们提供了制作浪漫表白页面的工具。接下来,我们将深入探讨这个主题,了解如何通过JavaScript实现这种创意的表达。...
【标签】"小码哥程序猿高阶必备书籍编程原理"进一步确认了这份资料的目标读者是已经有一定基础的程序员,特别是那些渴望深化编程理解、提升技术能力的小码哥。编程原理是程序员提升到更高层次的关键,它涉及到数据...
以下是一些Java开发中核心的知识点,这些知识点在"java程序猿必备开发文档"中可能会涵盖: 1. **Java语法基础**:包括变量、数据类型、运算符、流程控制(如if-else,switch,循环)、函数和类等。理解这些基础概念...
"动画爱心 程序猿的浪漫"这个主题揭示了一个程序员通过代码创造的特别方式来表达情感,尤其是在情人节或者其他特殊场合,他们可能会用编程技能来制作一份独特的礼物——一个动态的爱心动画。这种做法不仅展现了技术...
【程序猿的表白神器】是一种巧妙地利用编程技术来表达情感的方式,特别是在浪漫的情境下,为程序员提供了一种独特而有趣的方式来传达爱意。在这个项目中,主要使用了JavaScript库jQuery来创建吸引人的动画效果,使...
《程序猿炫酷个人介绍HTML源码》是一个专为程序员设计的、用于展示个人技能和经验的网页模板。这个源码充分利用了HTML5的新特性,结合CSS3的动画效果,打造出一个充满科技感且交互性强的个人简历页面。在Web开发领域...