我学编程时最后悔的事!

毕业后我才懂得自救,但愿你们引觉得戒前端

你们好,我是鱼皮。程序员

以前给你们分享过我大学四年的编程学习经历:我学计算机的四年,共勉!面试

不少朋友看完这篇文章后,会感到好奇:我是如何在大学期间作了那么多事情、学了那么多编程知识的?算法

但其实我要说,只要你们按照路径学习,必定可以比我学的更多更好编程

为何呢?后端

由于首先,大学期间,我并无 “死学习”,除了学习什么都不干,而是花了不少时间在学习无关的事情上。好比我做为班长要管理班级事务、我也玩游戏(手游 + 端游)、我也参加学生会和社团、也爱参加活动等。markdown

其次,就是我对编程自己没有天赋,不是像你们说的一看就会,一下就能写出代码。以前也讲过,我在高考后自学编程读了几十页书就放弃了,大一期间也是各类采坑,各类看不懂,甚至在 C 语言考试的时候链表题都作不出来。只不事后来凭借着我对编程强大的兴趣和更多地熬夜砸时间,而且持续总结踩过的坑和学习方法,才帮助我学到了这么多编程知识,才能找到一份大厂的工做。微服务

但这些都不是关键缘由,最最最最最重要的是,其实我在学编程的时候,有一个 坏习惯 ,直到毕业后才意识到真的所以 白白浪费了太多太多的时间工具

这也是我学编程时 最后悔的事 ,若是我能早点醒悟,应该能学到更多知识,身体和头发也会更好些。oop

下面把这件事以及我毕业后的 自救方法 分享给你们,但愿帮助你们少走弯路,高效学编程。

最后悔的事

我学编程时最后悔的事就是:作事不分主次,花了太多时间在技术无关的纠结上。

举个例子,我在大三学习微服务的时候,独立开发了一个安卓 APP 叫 面试君主 。从产品功能、界面设计再到先后端开发和上线都是我一我的负责,断断续续作了两个多月。

当时作的 APP

听起来好像还不错对吧。可是若是我说,这个项目其实我写代码的时间大概不到一半,你们会怎么想呢?

当时彻底没有计划这个 APP 要作多久,因此直到我作完这个项目,在总结复盘时才发现:我特么的居然花了 60 - 70% 的时间在产品功能和设计上?!

产品功能倒还能够理解,毕竟你在写代码前要先明确要作什么、为何作。但我居然浪费了大量的时间在设计上!

一方面是纠结项目的界面,好比字体大一点仍是小一点,框框宽一点仍是窄一点。另外一方面是到网上找素材,好比图标和背景的选取,一下子以为这个好看,一下子又以为另一个好看,犹豫不决。。。老强迫症患者了。

哦,天呐!要知道,我是一个彻底没有审美的程序员,原本在变量命名上我就已经很纠结了,为何还要花了这么多时间在本身不专业的事情上!

你们确定会问了,你怎么知道浪费了多少时间呢?

其实这只是粗略的估计,我当时天天晚上基本是在固定时间写代码,天天提交 1-2 次。经过分析两次提交代码的差别,我惊讶地发现,常常是间隔 2 个多小时,我就只改了图标或者界面的代码!

对比两次提交

原本作这个项目的 主要目的 是为了学习后端微服务,前端是 次要 的,只是为了方便看到效果。但没想到,居然在上面白白浪费了那么多时间。因此对我来讲,作这个项目的过程是极其失败的。

固然,这只是一个例子,我在学编程时,作过的无心义的纠结实在太多了。

并且我不知道你们有没有这种感受,尤为是在夜深人静的时候,思考会更迟缓,不管是改 Bug 仍是调界面都更容易令人陷入纠结,不知不觉时间就溜走了,有的时候我次日醒来甚至都不知道昨天本身到底在熬夜作什么!

熬夜努力或许没错,但熬夜作无心义的事真的是罪过!

这个坏习惯一直陪伴我读完大学,直到工做后,我才意识到须要自救。

自救方法

上面说的是我本身以为很后悔的事,不知道你们有没有同感。

接下来我要分享的 自救方法 ,不只帮助我解决了纠结的毛病,还帮助我告别拖延、提升了作事的效率。

方法归纳成一句话:将大的任务(目标)拆分为多个子任务,而且给每一个子任务设立一个 deadline(最后期限),按照计划去完成。

为何要这样作呢?分别解释一下。

任务拆解

咱们老是本能地抗拒有难度的、或者较为庞大的任务。因此若是不对这些任务进行拆分,咱们就很容易出现如下 3 种状况:

  1. 不想作,不肯作,拖到最后
  2. 作的过程当中发现问题,中途放弃
  3. 直接放弃

并且大部分状况下,相信你们都是 直接放弃 对吧。

将大任务拆分为小任务后,咱们就能够逐个击破,经过完成一个个小目标收获成就感,保持热血。

设立 deadline

不少时候,咱们作事拖延、磨叽、纠结,就是由于没有事先给本身定下截止时间,因此老是不紧不慢,想些有的没的,忽视了关键目标。

像我上面讲到的,由于没有 deadline,致使本身在开发 APP 时很放松,才过度地纠结设计和界面。若是我当时给本身设立一个 deadline,就必须 1 个月内完成,那我相信本身也是能够作到的,并且可能会更好。

deadline 的做用在个人平常工做中体现的更加明显,之前在学校作项目的时候,除了课堂做业,不多有人给我 deadline,或者说比较宽松。但工做中,老板说这个需求这周上线,那你就必须在这周完成,除非有合理的理由,不然根本没得商量。所以,也是在工做后,我才意识到本身在学校的效率真的是过低了,才变得更加高效。

还有一个有趣的现象:在我本身维护工做室、以及跟其余小伙伴合做开发的时候发现,同一个任务,给他们 3 天的时间能按预期完成,给他们一周的时间反而完不成。

因此不只要设置 deadline,并且要多设置,给每一个子任务都设置 deadline,持续给本身压迫感,更有助于帮助咱们完成目标。

实际应用

方法介绍完后,结合编程举几个实际应用的例子。

作项目

之前参加比赛作项目时,我通常都是拖到最后才匆匆忙忙提交结果。

但若是如今让我作一个完整的项目,好比编程导航,我先定个目标:1 个月内上线。而后把任务拆解为:先用 3 天时间肯定产品功能、再用 1 天时间参考同类产品的设计(花更多时间在开发上),用 1 天设计库表、用 7 天开发前端、3 天开发后端(1 天开发登陆、2 天开发基础增删改查),剩余的时间拿来填充网页内容和优化。

这样一来,当我没有按照预期完成小任务时,我会反思缘由,而且动态调整剩余工做的时间,以保证总体目标预期达成。

学编程

之前看书、看视频学习某项技术时,我可能就是想学什么、点进视频就开始学了。也没有想过计划用多少时间把它学完,结果就是致使学习节奏慢,天天看个几节课。可能今天的还没看,昨天的就忘了。

但假如如今让我学 Java,我会先扫一遍视频(书籍)的目录,根据视频的时长和章节,定下总的学习目标,好比 1 个月学完 Java 基础。而后将目标拆分红:3 天搭建 Java 环境和跑起项目,5 天学完 Java 基础语法、10 天学完 Java 面向对象、5 天作一个 Java 实战项目、再花 5 天学习高级特性和复习等。

刷算法

不少朋友跟我抱怨说本身会在一道算法题上纠结好久,多达几个小时,结果到最后也没作出来,很是难受。

我大一作 ACM 练习题的时候也是这样,想不通就硬想,生来倔强,就觉得本身能作出来。如今想一想,太亏了,虽然这道题本身想出来可能会颇有意义,但不要忘了,你大学的时间是有限的啊!想出来一道题的时间,说不定别人都学了一个新技术了。

所以,我会给本身定下刷算法的目标:天天 2 - 3 道题,每道题限时 30 分钟,想不出来就直接去看题解,有了思路再去想,再多复习巩固。由此,最后我用了接近一年半的时间刷了 1000 多道算法题。

其余工具

最后也给你们分享一些帮助管理计划、安排时间、高效工做、防止遗漏的实用工具吧~

滴答清单

我本身一直在用的任务管理工具,也是帮助我成为时间管理大师(狗头)的必备神器,支持多端同步。

Forest 专一森林

我从高中就在用的 APP,每成功保持专一一段时间后,都能收获一颗小树,终有一日聚为森林。

番茄 todo

也是一款帮助你管理时间,保持专一的 APP,好评率很高。

Teambition

阿里巴巴旗下的工做学习套件,同时适用于团队和我的,团队协做、项目管理、我的安排、作笔记等功能包罗万象,界面也很精简。


以上就是本期分享,最后再送你们一些 帮助我拿到大厂 offer 的学习资料

跑了,留下 6T 的资源!

欢迎阅读 我从 0 自学进入腾讯的编程学习、求职、考证、写书经历,再也不迷茫!

我学计算机的四年,共勉!

我是鱼皮,致力编程学习经验和技术知识分享,点赞 仍是要求一下的,祝你们都能心想事成、发大财、行大运。

相关文章
相关标签/搜索