最近逛YouTube碰到不少学习视频,寻思刷了那么多娱乐视频,要不看点啥对自己有帮助的,于是我看了流量密码系列:
如果重来,我会怎么学习编程
其中Namanh Kapur博主分享的How I Would Learn To Code (If I Could Start Over)让我产生了强烈的共鸣,所以想记录为了一篇简短的笔记
刚入门的同学可以参考这个实践培养自己的能力,和我一样有一定经验的程序员也可以反思下自己的实践
==你是怎么学习编程的==这个问题也是面试常客。方法论的益处不必多说。
思维
养成编程思维
I BELIEVE I CAN GOOGLE THE ANSWER TO ANYTHING
生活或者工作中的任何问题或者不便都是有解决方案的,只要努力尝试了总是能找到的,这可能花费几分钟、几小时甚至几天,但是结果总是能解决的,你只要知道这一点然后不要放弃就好了
遇到问题先问Google或者YouTube,国内就是百度或者B站
你可能觉得简单,但是事实上不是所有人都习惯这么做,很多人遇到问题的第一直觉是选择逃避
学习解决问题的能力
编程只是一个工具,它的核心还是解决问题。最难的是解决问题的过程而不是编程本身。
一个优秀的程序员意味着强大的学习能力,世界上有无数你不知道的事情,但是只要你付出时间和耐心,你就可以学会。为了工作,你一定会接触不同的编程语言、框架甚至是领域。
入门计算机科学:Harvard CS50
学编程
深入学一门语言
没必要追求一定在工作或者项目中使用,对一门语言足够深入本身就是很有价值的,这门语言就是你解决问题的法宝,上YouTube或者B站找知名的网课
写脚本
利用代码这个工具来解决一些实际的需求,这个需求可能很简单,例如格式转换、文本批处理,但是只要解决了某个问题你就可以提升自己的能力。脚本的优势在于简单,你不需要买个服务器、搭建个app来运行它,你只需要命令行
做个人项目
学编程最好的方式是动手,选一个你喜欢或者对你有帮助的项目去做,你可以找一些公开的平台,例如hackathon。这个项目最好是全栈的,有前端后端和数据库,把项目部署到云端是加分项。
准备面试
数据结构与算法,Leetcode
开发环境
尽量使用终端
图形化界面操作效率很低,终端可以大幅节约你的时间。
个人电脑默认命令行不太行,windows装个WSL,mac装个iterm2
IDE
vscode或者jetbrains系列,一个好的IDE对于提升编程技能帮助巨大
版本控制
remember to git commit often
学会git,熟记常用命令(pull merge rebase add commit push),总结成Cheat Sheet
不要等完成了一个需求再commit,一定要养成经常commit的习惯,避免数据丢失
多逛逛github
extra tips
学习是循序渐进的
基础要扎实,如果你学一个东西学不明白,首先判断是不是自己没有耐心去学,然后检查一下这个东西有没有前序的学习要求,例如如果连基础的语言都没学,那么对应的开发框架肯定是懵逼的
养成编程习惯
不要隔很长时间不写代码,争取保持每天都有输出,不需要很久,2个小时就很不错了
保持专注
不要同时做多个项目,选好一个项目,认真去完成
学会放松
如果你卡在一个问题上很久(30min~60min with no progress),不要死磕了,做点别的事情放松放松,没必要让自己压力那么大,出去散步、喝咖啡、吃点东西、看个视频,恢复精神后再回来继续搞
评论区