学编程学到的几件事

2024-01-05 07:32
文章标签 编程 学到 几件事

本文主要是介绍学编程学到的几件事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     一提到编程,很多与此无关专业的人就会想到两个字:无聊。确实,在大学课程里面的初级编程学习对于一般学生确实诱惑力不大,尤其是一些文科相关专业的人,更是被等级考试弄的头疼。一提到程序员,很多人的头脑中又会冒出另外两个字:苦逼。程序员的生活到底怎样?在此我不是来做生活大揭秘的,也不是来愤青的,诚然,在没有真正入职之前,我无法给出程序员的准确定义,但是通过这一年多以来的真正的编程学习,我还是对编程有了一些理解,文中若有一些见识疏浅的地方还请各位海涵:

1.入门并不困难,但是精通绝不简单

     很多没有一点编程基础的人初次接触到编程,大多的感觉就是很难,至少,作为一个“正常人”来说要去理解计算机的思维确实不是那么容易的事。不过如果如果你平时数学题做的很好,或者至少有一点数学基础的话,那么这跟数学公式其实也没什么太大的区别,至少你在学会1+1=2之前连数学是什么都不知道。而且最开始的编程学习必然是从语法基础开始学起,通过一两个月的基础训练,你就大概了解编程的逻辑了,不过要想做真正的应用开发,那是要在你理解了面向对象的程序设计之后才开始的。真正的大师,没个五年以上,没做过几个大型的项目,是成不了的。

 

2.基础很重要

     这句话几乎每个程序大神都这样说过,我最开始认真的投入编程学习是从应用开发开始的(Java才是我真正了解的第一门编程语言),而学了两三个月之后渐渐的感到吃力,看到别人写的程序总是有一些亮点,我开始观察,那些能够让自己的程序有点艺术性的人大都算法很精通,所以我又开始重新研究算法和数据结构。当然,说到这不是让每个人都去研究算法什么的,只是希望大家不要认为最开始学的那几行命令行程序没什么用,不然你以后会发现你连最基础的应用都做不了。不过,如果你喜欢应用开发的话,就不要陷入死算法的误区了,应用开发最重要的是要学会用,有些算法能力过于牛气的人,应用开发能力却很差,算法是提升你的逻辑思维的一门工具,最终的目的还是能够运用的起来。

 

3.写一行“精炼”的代码,倒不如写几行规范的代码

     进行了一段时间的自我修炼之后,你就要开始看别人的代码了,同样的,你的代码也要给别人用了。不过经常会碰到,有些代码的逻辑根本看不懂,有些人的编程也过于精炼,有些人喜欢这样命名:a,aa,aaa...结果到里面还得去匹配他的程序变量,这对团队自然造成了很大的影响,毕竟,以后进行项目开发往往不是一个人的事,注重规范,就得从现在开始。

 

4.注释

     这一点跟上面一点其实有内容交叉,之所以单独作为一条就是因为这一条确实很重要,由于最开始自己写程序的时候没养成写注释的习惯(毕竟自己写的程序大都给自己看),所以久而久之就不会写注释了。写注释是一门很重要的工作,不亚于写代码,以后进行合作开发的时候别人第一眼看到的也只可能是你的注释而不是代码本身。记得那时候本来想借用一下别人写的一些程序,看了之后吓了一跳,几千行代码,一个注释都没有,最终没办法,自己再写了一个。所以在平时的编程不要忘了这个步骤,否则你以后自己来看自己写的程序,都不知道自己想干嘛。

 

5.编程是一件让人兴奋的事情,而绝不仅仅是为了学习或工作

     如果你选择了程序员这份工作,那我希望这是你的主动选择,就像谈恋爱一样,不然你会过的非常痛苦的。在我周围有很多人,他们跟我一起参加培训,中间自然有很多热爱编程的朋友,他们或许最后并不一定选择程序开发这项工作,但至少编程带给了他们很多乐趣。同样的,还有很多人是为了找一份稳定的工作,这样的想法也很不错,毕竟现在的就业压力这么大,再说程序员的待遇也还算优越的,除了最开始可能会被加班困扰之外。还有一些是为了学业的,这也没什么,毕竟考研,出国,学点技术也还是有点用的,不过你单纯是为了每学期的期末考试的话,就没必要了,技术是要拿来用的,而不是成为你伪装学霸的工具,真正的学霸应该实际能力也不差,至少我们班那几位学霸动手能力也都挺出色的。不过还有一些急功近利的人就不太让人满意了,他们总想着靠编程发大财,成为像盖茨,乔布斯那样的成功人士,有这样的想法肯定是好的,可他们却不付出实践,做什么事情都是三分热度,总想着毕业后去哪发大财。现在,除了有一个好想法,有一身过硬的本领,有一群志同道合的人一起,否则还是做好你的本分工作,先修其内,再出其外。很多在事业上有所成就的人都说过,真正赚钱的时候,其实就那么几年。

 

6.错误和异常是你生活的一部分

     如果你使用的是Eclipse,我相信你最熟悉的除了代码之外,就是Console下面的那一行行红字了,你几乎每天都要与它打交道,只要你每天都有编程的话(当然,除非你不运行O(∩_∩)O~),很多初学者被这个弄的很烦,辛辛苦苦写个程序还老是报错,这自然是不让人开心的。不过,学会看错误和异常是走向大神的必经之路,就像你在成长的过程中总要犯错一样,它们并不可怕,与其在那心烦,倒不如解决它们。

 

7.有好的想法就要马上记录下来,不然会很可惜的

     最开始加入蓝杰大家庭的时候,老师给我们每个人就配备了两个本子,一大一小。到现在一年多了,那个小本子我还一直带在身边,当手边没电脑的时候,自己突然间有了什么好的想法,或者关于之前做的一些应用有什么好的改进的时候我都会及时的记录下来,以防那一瞬的想法突然就忘了。很多IT行业的大公司在各个地方都有笔记本和纸(甚至连厕所都有),就是为了给我们那一瞬的灵感而准备的,不管你是否是这个行业的,都可以随手准备一个笔记本,说不定哪天就会有一个惊天地的大想法出来。

 

8.术业要专攻

     这个问题我问过很多人,有编程界的大牛,大企业的项目经理以及身边的一些朋友。得到的结论几乎一致,先精后广。有些没太多基础的人半年时间之内学了很多东西,Java,数据库,Android,Linux等等等等。但当问及其中某个领域时,才发现很多该领域的基础知识,他们都不甚了解,甚至有一些Java学习了很久的人,还是没把面向对象的设计思想用到项目中去,才发现他们一直在学习,却没有深入的去理解一些东西。举个例子,如果你想精通Java,那么多线程,I/O,异常,JVM,这些都是你应该要深入了解的东西,另外,学好Java自然是为了应用开发,那么网络编程,数据库,设计模式,都应该在你的学习范围之内,你们可能会问了,不是说术业要专攻么??这些都是要学习的内容,他们并不是独立的一个部分,而是进行应用开发的你应该了解的一个整体,你不需要在短时间内把这些知识全都过一遍,这没什么意义,但是这是你的一个成长的路线,当你要用到的时候再去好好研究,每个模块都有很多值得挖掘的东西,当然,在你精通了其中的某一个模块之后,再扩散到其他部分,这才是学习的正确路线。请记住,如果你能精通任何一项本领,那都会使你终生受用,但是,学技术的人要学会变通,技术只是一门工具,不要死死地拽着某一个领域,在你基础能力达到一定的高度之后,掌握的越多,你的发展才会越大。前不久与一个大企业的项目经理交流的时候,问到这个问题,他就对我说:“你现在千万不要看到别人什么做的好就去做什么,把握自己的优势,把它发挥到最大。在我们公司有很多进行应用开发的程序员,他们到了三四十岁的时候又开始研究算法,数据结构这一类的东西...”。所以,从现在开始,确定自己的方向才是最重要的。

       最后,送给大家一句话,乔布斯说过:“人这一辈子不能做的事情太多了,所以每一件你决定做的事

都要做的尽善尽美”。也祝愿大家在即将到来的平安夜玩的愉快O(∩_∩)O~

  

这篇关于学编程学到的几件事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572119

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

Java并发编程之——BlockingQueue(队列)

一、什么是BlockingQueue BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。被阻塞的情况主要有如下两种: 1. 当队列满了的时候进行入队列操作2. 当队列空了的时候进行出队列操作123 因此,当一个线程试图对一个已经满了的队列进行入队列操作时,它将会被阻塞,除非有另一个线程做了出队列操作;同样,当一个线程试图对一个空

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数