程序员如何更好的提升自己

2023-05-16

首先你得明白,一个人的能力就像一个池塘,不断的输入又不断地输出,水池的容量以及水的质量决定了输出的高效与否,输入大于输出,你的池塘就会不断扩大,换句话说你会的技能就越来越多,只输入不输出,你的池塘就是一滩浑浊不堪的死水,一实操就bug满屏。

所以想要提升自己,就得同时做好输入和输出这两块。而输入又在输出之前,要想提升自己,首先就得做好输入,学习更多的深度知识。

总之,程序员要想学习效率高,学习效果好,只需要做好下面两点最基础的事情:

·学习基础知识

·巩固基础知识

其中学习基础知识,又有两点要注意的:找对方向、用对方法。说的更直白一点就是学什么以及怎么学。

学什么?

首先要将基础打牢固,最基本的算法和数据结构一定要滚瓜烂熟,拿起来就能用。

比如下面这些个算法和数据结构类型就一定要熟练掌握。

10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;

不要小瞧了这小小二十组词,展开了去学,怎么都得花你个一年半载,例如单单排序算法就又可以分为以下十种:

然后,当将这些基础知识吃透了之后,注意是吃透,至少得做到要用到的时候就能直接用不用回去再翻书,你就可以去学习一些更深入的内容:

比如:

·编程框架是如何运转起来并输出“Hello World”的?

·如何让自己更正规,更有章法地使用Mysql呢?

·Key、List、Hash、Set、ScoreSet各自的使用场景有何不同?

·主流的编程框架都和设计模式相关,那他们有没有共通性?

当你把这些问题想清楚了的时候,你的程序员进阶之路就走了一半了。

怎么学?

每个人的学习方法都不一样,有的人喜欢边做项目边学习,有的人则喜欢学一段时间做一个项目,有的人喜欢看书学,有的人喜欢看视频学,这些都不是问题,重要的是找到适合你自己的。

但是以下的方法我i觉得会让事倍功半,建议大家就不要这样做囖。

1.一味的对着别人的代码去敲。

刚开始不会做只有跟着别人敲,这不是问题,问题是跟着别人敲了之后你要自己理解自己记忆把它变成自己的东西。照着别人代码敲一遍两遍哪怕三遍,除了让你看得仔细点,练了打字外并没有其它任何帮助。

因为模仿复现不是关键,思考才是关键。你要能做到思考学习别人思路后,脱离书本和博客,完全自己实现功能。只有这样,你的学习才是有效的。

2.想着一口气吃成个胖子

这一块的情况稍微少见,但也不是没有,有的人急于求成,学习只学个大概只求个会用,没有做到知其然还知其所以然。

技术这玩意儿,不是看了个大概能照着做就会了,一口气吃不成个胖子,必须得扎扎实实地把事情做好。所以不要试图一次性解决所有问题,这里给个建议:可以将每天的学习过程拆分成小块,分阶段学习,这样的效率会更高些。

说完了第一点如何学习基础知识,接下来说说第二点如何巩固基础知识。方法千千万,最有效的我认为还是刷题,有方法的刷题。

下面这个刷题方法很普通但也很实用,推荐给你:

第一遍:可以先思考,之后看参考答案刷,结合其他人的题解刷。思考、总结并掌握本题的类型,思考方式,最优题解。

第二遍:先思考,回忆最优解法,并与之前自己写过的解答作比对,总结问题和方法。

第三遍:提升刷题速度,拿出一个题,就能够知道其考察重点,解题方法,在短时间内写出解答。

在这里,给大家推荐两本书还有一些学习网站,能够让大家学得更轻松些。

书:

1、《代码大全》激发你的思维并帮助您构建高品质的代码。

2、《程序员修炼之道》全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。

网站:

  1. GitHub — 开发者最最最重要的网站:https://github.com,能学习但不只是学习。

  2. W3school — 最适合新手的网站:https://www.w3school.com.cn/:免费而且全面。

3.实验楼 — 一个在线编程学习网站: https://www.shiyanlou.com/courses/,很方便实用。

  1. Code School — 一个英文学习网站:https://www.pluralsight.com/codeschool,支持分阶段挑战。

讲完学习基础知识和巩固基础知识,咱们就再回到咱们刚开始说的那个池塘,现在水的输入讲完了,池塘里有点东西了,但只进不出还是一潭死水,接下来就系统性的讲讲如何输出。

三种方法:

1.做一些实操性强的个人项目,自己练练手

田纳西大学助理教授奥斯汀·亨利结合自身经验,给出了一份“程序员都应该尝试的挑战性项目”清单,包含下面六个项目,我之前做了一遍觉得还不错,推荐给大家:

·文本编辑器

·2D游戏-太空侵略者

·编译器-Tiny BASIC

·迷你操作系统

·电子表格

·电子游戏机模拟器

每一个项目都存在不同的挑战,比如文本编辑器就要求在不使用GUI框架中内置的文本框组件的情况下,搭建支持光标移动、选择、插入和删除操作的文本框并将文本文档存储在内存中。

如果你能解决掉这些项目中的这些问题,然后把项目独立完整的做出来并且运行成功,你的能力肯定能再上一个台阶。

2.写技术文章

大家想必都知道费曼技巧,这也是其中的一种应用了,把你自己弄懂的东西教给别人,让别人也能看懂,在这个过程中你肯定还是要把一个完整的项目给做出来的,一整套下来,你会将自己理解的东西掌握的更透彻更深入。

也算是一种不错的实操方式了,能让你的基础更加牢固。

3.接一些开发兼职

这是三种方法中实操性最强的一种了,没有之一。

而且不用说,这也是最快最有效的方法了,毕竟编程这件事,光有理论是不够的,动手实践才是关键也是最终目的。

但兼职也有很多坑很多小门道,你首先得注意项目是不是靠谱,像那种没有需求文档的就不要接了。

最后,在这个不断做不断输出的过程中,希望你能做到下面三点:

·让编程成为一种习惯。

·学练结合,从做项目中找知识漏洞。

·思考更深层次,更底端的东西。

因为只有这样,你的这方池塘才能生生不息,源源不绝。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员如何更好的提升自己 的相关文章

随机推荐

  • 2020年下半年信息安全工程师下午真题及答案解析

    2020年下半年信息安全工程师下午真题及答案解析 试题一 共14分 阅读下列说明 回答问题1至问题6 将解答填入答题纸的对应栏内 说明 Linux系统通常将用户名相关信息存放在 etc passwd文件中 假如有 etc passwd文件的
  • H3C交换机常用命令大全

    一 用户配置 system view H3C super password H3C 设置用户分级密码 H3C undo super password 删除用户分级密码 H3C localuser bigheap 123456 1 Web网管
  • H3C交换机设置时间命令

    H3C交换机设置时间命令 1 用户视图 xff0c 查询交换机系统时间 lt h3c gt display clock 2 用户视图 xff0c 调整交换机系统时间 lt h3c gt clock datetime at 12 00 00
  • pycharm 五种实用的插件

    相信对于不少的Python程序员们都是用Pycharm作为开发时候的IDE来使用的 今天我来分享几个好用且酷炫的Pycharm插件 xff0c 在安装上之后 xff0c 你的编程效率 工作效率都能够得到极大地提升 1 Rainbow csv
  • MYSQL数据库自动备份

    1 创建备份脚本 xff1b 将以下代码复制到文本文件中 xff0c 另存文件文件名 txt xff0c 改为 bat 64 echo off start 以时间为维度作为备份文件名的后缀 set dt 61 time 0 2 if dt
  • MySQL定时备份数据库(全库备份)

    一 MySQL数据备份 1 1 mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump 我们可以通过命令行直接实现数据库内容的导出dump 首先我们简单了解一下mysqldump命
  • H3C交换机SSH配置

    H3C交换机SSH配置 1 使用SSH 43 密码认证 基本SSH配置方法 注 xff1a 在用户使用SSH登录交换机时 xff0c 交换机对所要登录的用户使用密码对其进行身份验证 生成RSA和DSA密钥对 H3C public key l
  • 2022年下半年网络规划设计师考试论文真题

    试题 一 论5G与校园网络融合的规划与设计 近年来 xff0c 教育部等部门印发了 教育信息化2 0行动计划 关于推进教育新型基础设施建 设构建高质量教育支撑体系的指导意见 等文件 xff0c 引导高等学校以信息化为主导 xff0c 面向高
  • 2022年下半年网络规划设计师考试下午真题

    试题一 案例一 某单位网站受到攻击 首页被非法篡改 经安全专业机构调查 该网站有一个两年前被人非法上传的后门程序 本次攻击就是因为其他攻击者发现该后门程序并利用其实施非法篡改 nbsp 案例二 网站管理员某天打开本单位门户网站首页后 发现自
  • 2022年信息安全工程师上午真题及答案解析

    2022年信息安全工程师上午真题及答案解析 1 中华人民共和国网络安全法 第五十八条明确规定 因维护安全和社会公共秩序 处置重大突发社会安全事件的需要 经 nbsp 决定或者批准 可以在特定区域对网络通信采取限制等临时措施 A 国务院 B
  • 2022年信息安全工程师下午真题及答案解析

    2022年信息安全工程师下午真题及答案解析 阅读下列说明 xff0c 回答问题1至问题3 将解答填入答题纸的对应栏内 说明 访问控制是保障信息系统安全的主要策略之一 xff0c 其主要任务是保证系统资源不被非法使用和非常规访问 访问控制规定
  • 华为交换机Console密码重置、设备初始化、默认密码

    1 华为交换机Console密码重置 1 通过Console口连接交换机 xff0c 并重启交换机 2 当界面出现以下打印信息时 xff0c 及时按下快捷键 Ctrl 43 B 并输入BootROM BootLoad密码 xff0c 进入B
  • 华为S7700交换机如何清除console密码

    问题描述 s7700设备如何清除console密码 解决方案 S7703设备清除console密码过程 重新启动设备 xff08 设备单主控启动 xff0c 双主控请拔下一张主控卡 xff09 当设备上电后 xff0c 操作终端屏幕上显示如
  • 华为交换机配置ssh登录远程管理交换机

    配置华为交换机ssh远程登录 xff0c 先配置交换机的管理地址和vlan xff0c 此处为vlan10 xff0c 把接口GE0 0 1划入vlan10 xff0c 管理地址为192 168 10 100 241 创建本地密钥对 配置接
  • Oracle用户被解锁解决方案(1)

    xfeff xfeff 查看被锁的用户 select LOCK DATE username from dba users where username 61 39 USERNAME 39 LOCK DATE为空说明没有锁定 xff0c 非空
  • 华为S5700交换机初始化和配置telnet,ssh用户方法

    华为S5700交换机初始化和配置telnet xff0c ssh用户方法 通过串口线配置S5700 的管理IP地址和网关 xff0c 串口线接在交换机的console口 xff0c ip设置完成后网线接在ETH口 xff1a lt Quid
  • 华为交换机恢复出厂设置

    华为交换机恢复出厂设置 方法一 xff1a 已知用户名和密码场景 lt SW gt reset saved configuration Warning The action will delete the saved configurati
  • 常用网络工具5:网络抓包工具wireshark

    Wireshark xff08 前称Ethereal xff09 是一个网络数据包分析软件 网络数据包分析软件的功能是截取网络数据包 xff0c 并尽可能显示出最为详细的网络数据包数据 Wireshark使用WinPCAP作为接口 xff0
  • OpenHarmony 3.0 虚拟机开发环境

    本文介绍一种简单的OpenHarmony环境搭建方法 首先我们要知道环境搭建包括哪些内容 xff0c 这样我们才好知道如何去搭建 通常来说 xff0c 环境搭建包括这3大部分 xff1a 代码编写 代码编译 代码下载 烧录程序 在OpenH
  • 程序员如何更好的提升自己

    首先你得明白 xff0c 一个人的能力就像一个池塘 xff0c 不断的输入又不断地输出 xff0c 水池的容量以及水的质量决定了输出的高效与否 xff0c 输入大于输出 xff0c 你的池塘就会不断扩大 xff0c 换句话说你会的技能就越来