学好编程的 4 个秘诀

简介: 学好编程的 4 个秘诀

你好呀,我是沉默王二,一枚沉默但有趣又帅气的程序员(你听,耳边是不是响起了装逼的声音)。今天我来掏心掏肺地聊聊学好编程的 4 个秘诀,应该会对你产生一些微妙而又积极的影响。


闭上眼睛转个圈,想一下你身边那些人,是不是总有那么几个,能够脱颖而出,好像不管他们做什么事情,都能够取得不错的成绩。


反正我身边就有这么一些人,他们学习学的好,是老师的骄傲,是同学的榜样;朋友处的不错,大家都乐于和他交往;工作上表现突出,不怕事,能抗事,团队中处于核心地位,薪资待遇也高一筹。


认真地想一想,你就会发现,他们在做事情的时候是有方式可循的。


这里多说两句哈。上学的时候,我有一双善于发现美的眼睛,但焦点是自己,所以很多同学都说我很自恋,同时呢,我还特别乐意挑别人的毛病。


最近一些年,我这双眼睛虽然近视度数增加了,但仍然很善于发现美,并且焦点发生了变化,变成了身边的人,无论他做的是什么职业,我总想从他身上学到一些什么。


这种转变,对于我的成长来说,我认为非常重要。你是不是也心有灵犀,这么觉得呢?好了,来看看做好事情都有哪些秘诀(可能算不上)吧。


第一,修炼内功。


大家应该都挺喜欢看武侠小说的吧,尤其是金庸的作品,男主都特别注重内功的修炼。萧峰、郭靖、杨过、张无忌等等等等,内功都是独领风骚的,能与他们匹敌的寥寥无几。


程序员是这个时代的弄潮儿,要想站得住,不被大浪掀翻,内功自然要浑厚。直白点说,就是,只会 CURD 是很容易被淘汰出局的。


对于初学者来说,一门编程语言,一种工具,一个框架,先会用是最迫切的需求。一上来就去看源码,很容易就劝退了。


等会用了之后,用多了之后,就得深入,知道为什么要这样用,能不能按照其他的方式用,这背后的原理又是什么,都得逐渐搞清楚,否则就只能停滞不前,无法更进一步。


就比如说,我们学 Java,上来就去搞多线程并发、Java 虚拟机,我敢保证,学霸都不一定能扛得住。


正确的学习方法是什么呢?


简单了解一些 Java 的历史背景,然后安装 JDK,安装 IDE,写个 Hello World 感受一下编程语言的魅力。再然后学习数据类型、运算符、流程控制语句、访问权限控制、对象和类、接口与抽象类、字符串、异常处理,接着是集合、泛型、枚举、IO,最后才是多线程并发、Java 虚拟机、性能优化。


就这样,循序渐进,一步一个脚印,等到这些都会用了,编程经验也提高了,再去深入地研究源码,了解设计模式、计算机基础知识、计算机网络知识、数据结构与算法等等,就会游刃有余。


算法研究的目的是为了更有效的处理数据,提高数据运算的效率,数据运算是定义在数据结构上的,各大公司的笔试基本都考这个。如果你想拿到更多的 offer,拿到更好的 offer,LeetCode 上的题要能刷个一百到三百道,有时间有精力的话,最好参加一下 ACM 竞赛,在找工作的时候会非常有优势。


算法薄弱的同学,或者想要提高的同学,可以点击链接看我另外一篇文章!


第二,持续改进。


“伟大的牛逼之前都是傻逼式的坚持”,这句话听起来虽然有点糙,但理不糙啊。每个人都知道改进,但并不是每个人都能坚持下去。


我有个大学同学,做淘宝客的,一开始没有摸到门路,就很难,坚持了一年,收益甚微。有一天,他不知道哪根筋“错”了,在淘宝上花了几百块钱做了一个网站,界面很丑陋,但 SEO 做得很不错,慢慢就有人通过百度搜索的关键字找到他。


随着时间的推移,找他的人越来越多,钱自然就赚到了。于是,他成立了一个工作室,很多大学同学都到他那干过,但很多同学干了三五个月后,就坚持不下去,不想干了。


他呢,一直坚持着做,虽然有起有伏,但在郑州买了一套大四室的房子,又买一辆不算差的车。结婚的时候,我去过他老家,条件不是一般的差,这让我更佩服他了。


人,在天赋上,在出身上,是有差别的,不要明目张胆地忽视这两点。但是,能够有所作为的人,你会在他们身上发现一个共同点,就是“持续改进”。


拿写作这件事来说,我有天赋吗?如果有人说我有,我是拒绝承认的。但如果有人说我是一个懂得改变,懂得坚持的人,那我只好承认,他是懂我的。


一开始,我只在 CSDN 上写,后来我同步到各大博客平台,这就是改变。一开始,我只在知乎上同步文章,没有回答问题,后来我发现,回答问题的访问量远超文章,这是知乎的机制决定的,我改变了。一开始,我不会玩 GitHub,最近一段时间我迷上了 GitHub,这也是改变。


这些改变,都是积极的,并且我还会一如既往地坚持下去,所以我才敢笃定,“明天会更好”。


第三,不断叠加。


为什么我一直推荐大家去写博客,并不是因为我尝到了甜头,而是因为写博客本身,最直观的一点就是,博客的浏览量会“不断叠加”,更深层次的是,写博客带来的影响力会“不断叠加”。


再没有其他的事情,比写博客更容易上手,更能带来不断叠加的效应了。


很多人会说,我不知道写什么啊?


学习笔记就可以啊,读书感悟就可以啊,解决 bug 的方案就可以啊。


还有人会说,我写了,没有访问量啊?


个位数的访问量总有吧!一开始,除非天赋异禀,大多数人的访问量都不会特别高,我也是从个位数起步的。


也许还有人说,我写了,有访问量,但遇到瓶颈了。


瓶颈几乎是每个人都会遇到的,“几乎”甚至可以去掉。遇到瓶颈的时候,有人放弃了,一切化为乌有;有人坚持着,并且寻求改变,也许会失败,也许会踏步不前,但更多的是收获,蓄能,为下一次的起飞做好准备。


第四,保持耐心。


我们当前所处的时代,节奏非常快,快到有个 APP 就叫快手。但殊不知,有些事情,慢一点更好。


昨天,我和一个朋友聊天,他说最近接到一个项目,费用大概 9 万多,工期 35 个工作日。还让我看了一下需求文档,说差不多都是增删改查,应该能完工。


看完需求后,我只能说,我这个朋友真的是盲目乐观。但这个时代就是这样,甲方认为所有的项目都很简单,不外乎增删改查,找个开源项目在上面改一改,就能完事,能需要多长时间?


你要是说需要一年半载,甲方就会说,“到那时候,花都谢了。”


足球场上,一个教练一年出不了成绩,换,甚至半年出不了成绩,换。球迷没有耐心,俱乐部高层也没有耐心。


电竞比赛,一场游戏如果超过一个小时,观众就坐不住了,制作方也坐不住,于是比赛时长越来越短,你就会发现,一些酱油位的英雄在一场比赛里穷到只能穿一双草鞋。


在这样的时代背景下,我们其实更应该保持耐心,多给自己一点时间。


之前有个读者私信给我说,自己是转行学编程的,很辛苦,花了很多时间,但似乎证明自己并不适合学编程。我就问他,你学多长时间了,他说三个多月了。


唉呀妈呀,三个多月真的是一个很短的时间,学编程并不是一件轻而易举的事情,是需要时间的。我已经有十多年的编程经验了,但很多时候,我还是觉得自己只是一个刚入门的菜鸟(请允许我谦虚会),还有太多太多的知识等着我去学习。


遇到挫折的时候,能否给自己一点耐心,其实是一种不可多得的能力。表面上的光鲜亮丽,背后都是辛勤的付出,时间的沉淀。


像算法题,一开始刷起来,任何人都会感到很痛苦,关键是你得坚持,保持耐心,每天刷一道两道,不要今天刷 10 道,明天刷 0 道,可能坚持不了一周时间你就放弃了。保持节奏,不要打乱自己。时间就是最好的朋友。


分享一些我之前刷 LeetCode 的心得,我膨胀到要飘起来了!


怎样保持耐心呢?有两个关键点,其一就是降低预期,不要把自己架在一个很高的位置,让自己上下为难;其二就是全力以赴,做到问心无愧。


相关文章
|
30天前
|
机器学习/深度学习 人工智能 算法
探索编程世界的奇妙之旅:从初学者到小有成就
【10月更文挑战第14天】探索编程世界的奇妙之旅:从初学者到小有成就
28 0
|
2月前
|
机器学习/深度学习 数据挖掘 大数据
探索代码之美:我的编程旅程
【9月更文挑战第14天】在编程的世界里,每一行代码都承载着创造的力量。本文将带你走进一个程序员的内心世界,从最初的迷茫到逐步找到方向,再到深入技术的核心,探索代码背后的逻辑与美学。通过个人经历的叙述,我们将一同感受编程带来的挑战与成就感,以及它如何塑造我们对世界的理解和未来的期望。
|
1月前
|
开发者
探索代码之美:从小白到高手的编程之旅
【9月更文挑战第32天】编程,一门艺术与科学的结合体。它不仅仅是冰冷的机器语言,更是人类智慧的结晶。本文将通过一段个人的技术成长历程,揭示编程背后的哲理和美学,带你领略代码世界的深邃与奇妙。
|
3月前
|
算法 JavaScript 前端开发
探索代码之美——从小白到大牛的编程旅程
【8月更文挑战第26天】在编程的世界里,每一行代码都是构建梦想的基石。本文将带你领略编程的魅力,从最初的迷茫到技术的熟练,一起见证一个编程爱好者如何通过不断学习和实践,解锁新技能,最终成为领域内的专家。让我们跟随这段旅程,发现那些看似晦涩难懂的代码背后的艺术与哲理。
|
3月前
|
机器学习/深度学习 人工智能 程序员
代码之美:我的编程旅程
在数字化时代的浪潮中,编程已成为一种全新的艺术形式。本文将通过个人的技术感悟,探索编程之美的多重维度,从解决问题的成就感,到代码结构的优雅,再到技术社区的温暖,每一方面都是对编程艺术的深刻理解。文章旨在鼓励更多的编程爱好者,以创造性和批判性的眼光,重新审视并欣赏编程这一现代魔法。
31 1
|
5月前
|
算法 开发者
代码之美:技术感悟与编程艺术
【6月更文挑战第28天】在数字世界的构建中,代码不仅仅是冷冰冰的指令集合,更是开发者智慧与情感的结晶。本文将深入探讨编程背后的艺术性,揭示如何通过技术感悟提升代码质量,以及在日复一日的编码实践中如何保持创新与热情。
|
6月前
|
数据安全/隐私保护
探索代码之美:我的编程哲学
【4月更文挑战第17天】 在数字的海洋中,每一行代码都如同细腻的文字,构建起复杂而精妙的思想宫殿。本文旨在分享我个人对编程实践的深层次理解与感悟,探讨如何通过技术实现思维的飞跃。从最初的逻辑构建到最终的产品实现,我试图揭示那些隐藏在冰冷代码背后的温情故事和智慧火花。文章将围绕编程的本质、持续学习的重要性以及解决问题的艺术进行阐述,为同行的技术探索者提供一种新的视角和思考路径。
|
JavaScript 前端开发 机器人
梦回战国,领略两千多年前公孙龙如何将面向对象运用得炉火纯青
2200 年前的战国时期,赵国平原君的食客公孙龙有一天骑着白马进城时,被守城的官兵以马不能进城而将其拦下.公孙龙当众即兴演讲,口述"白马非马"一论.守城的官兵被说的一愣一愣的,无法反驳。于是公孙龙就骑着他'不是马的白马'大摇大摆进城去了,这其实就是历史上最为经典的一次面向对象思维的阐述
28645 11
|
JavaScript Java 编译器
编程简单科普系列 - 什么是编程 (1)
广义上来说,编程也不仅仅是指关于计算机的范畴,现在通常也指可以diy的东西,可以通过自己想法进行自定义的东西。当然我们这里所说的是指计算机编程. 因为计算机是不能直接听懂我们人说话的,没办法直接沟通,所以我们需要通过编程语言来跟计算机进行沟通,通过编程语言把我们想表达的转化为计算机能听懂的,在这里编程语言就相当一个翻译(比如,我们不会英文,准备要和一说英文的外国人谈生意,这时候就需要找一个英文翻译,替我们把想要表达的中文翻译成对方听得懂的英文。)其实严谨点这个比喻说也不准确,因为编程语言一般是需要通过编译器或者解释器编译解释之后,才能为计算机所识别. 每个计算机编程语言,都有自己的编译器或者解
353 0
|
程序员
第8章 编程心理学 《丰富多彩的编程世界》
第8章 编程心理学 《丰富多彩的编程世界》 丰富多彩的编程世界 作者 陈光剑 第1章 名可名非常名第2章 语言的构成第3章 有趣的编程第4章 编程语言大观第5章 编程语言的组成第6章 编程范式第7章 编程思想第8章 编程心理学第9章 程序员这群人第10...
1019 0