找回密码
 立即注册
注册 登录
×
热搜: 活动 交友 discuz
查看: 77|回复: 1

我是这样提升编程能力的

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-21 15:40:31 | 显示全部楼层 |阅读模式
每天写有意义的代码,肯定可以提高你的技巧和能力。
提高自己的关键在于如何写一些有助于提升自己的代码,而不是使自己原地踏步的代码,每天练习hello word的代码顶多让你打字更快一点。

美国人Noel Tichy提出的理论,讲认识世界划分为三个区,分别是舒适区、学习区和恐慌区;这也是你想要学习一项技能或者知识的划分等级.
舒适区指的是人们经历过的熟悉的事物,它们不会对人产生太大的压力,因此人们可以很容易地应对这些事物。
学习区指的是人们没有经历过的新事物,它们会给人带来挑战,但人们可以通过努力学习来适应这些事物。
恐慌区指的是人们无法适应的极具挑战性的事物,它们会给人带来巨大的压力,使人感到恐慌。



编程能力的提升需要突破舒适区

因为如果人们一直停留在舒适区,就没有机会去接受新的挑战,学习新的知识和技能,并进步。这样,人们就可能陷入舒适区的“误区”,无法在工作和生活中发挥最大的潜能。
另一方面,接受超越自身范围的知识和能力,就相当于揠苗助长,会让自己陷入恐慌区。那么这意味着人们在编程过程中感到极度不安或恐惧。这可能是由于遇到了非常困难的问题,或者对自己的编程能力产生了极大的怀疑,导致无法继续下去。这种情况下,人们可能会选择放弃编程,或者陷入恐慌情绪,无法正常思考和行动。



因此想要提升自己一个重要的方法是通过图突破自己的舒适区,长期处于学习区,而不要陷入恐慌区。这样可以帮助你拓宽解决问题的思路,丰富自己的编程经验,并增强自己的编程能力。虽然刚刚突破舒适区会让你有一丝丝的不安、压力甚至恐惧,但是随着学习的进步会让你逐渐适应,并将这些编程知识、能力、技巧收入囊中,成为你扩大和稳固舒适区最有力的工具。

提高你自身的编程能力

下面,我列出了我每天用来提高编程技能的几种方法:、
阅读代码

不用说……如果你想成为更好的作家,你就必须成为更好的读者——这意味着阅读更多的书,以及更广泛的书籍。
同样,如果你想成为更好的程序员,这实际上是一种不同的写作形式,你应该努力阅读更多的代码,尤其是来自非常优秀的程序员的代码。



如果你常用的语言是Java,你可以阅读

  • Apache Commons:Apache Commons是一组用于Java的常用组件库,包含了各种用于文件处理、字符串处理、日期处理和其他常用功能的类和方法。
  • Guava:Guava是谷歌推出的一个用于Java的高性能库,提供了各种实用的工具类和方法,包括集合操作、缓存、原生类型支持、并发工具等。
  • Spring Framework:Spring Framework是一个流行的Java应用框架,提供了许多用于构建企业应用的基础组件,包括IoC容器、事务管理、Web框架等。
  • Hibernate:Hibernate是一个用于Java的对象关系映射(ORM)框架,可以帮助开发人员将数据库中的数据映射到Java对象,从而简化数据访问和持久化操作。
如果你常用的是C语言,你可以阅读:

  • glibc:glibc是GNU操作系统的标准C库,提供了大量常用的C函数,包括字符串处理、文件操作、数学运算等。
  • zlib:zlib是一个流行的数据压缩库,提供了各种用于数据压缩和解压缩的函数,广泛用于文件压缩、网络传输和存储。
  • OpenSSL:OpenSSL是一个开源的安全套接字层(SSL)库,提供了各种用于加密、认证和证书管理的函数,广泛用于Web安全、电子邮件安全等。
  • SQLite:SQLite是一个轻量级的关系数据库管理系统,提供了一组简单而强大的C接口,可以方便地存储、查询和管理数据。
如果你常用的是C++语言,你可以阅读:

  • STL:STL(Standard Template Library)是C++标准库的一部分,提供了一组高效的泛型算法和数据结构,包括向量、链表、哈希表等。
  • Boost:Boost是一个由很多C++专家维护的开源库,提供了各种高级C++特性和实用工具,包括多线程、Smart Pointer、Function、Any等。
  • Eigen:Eigen是一个用于线性代数计算的C++库,提供了各种矩阵运算、解线性方程组、求特征值等功能,适用于机器学习、计算机视觉等领域。
  • Qt:Qt是一个流行的跨平台C++图形用户界面库,提供了各种用于构建图形用户界面的小部件和类,并且支持多种操作系统,包括Windows、Linux和macOS。
....
从阅读经典的代码中,需要从中学习到代码可读性和优化的技巧:

  • 使用简洁的命名
  • 避免冗长的函数
  • 使用合适的数据结构
  • 模仿、形成自己的代码风格
  • 等等一切你值得学习的恭喜
带着目标进行训练

开始提升自己之前,问自己几个问题:

  • 需要提升的目标是什么?
  • 编程目标是什么?
  • 你需要达到/获取怎么样做的能力?
举个例子,如果你的目标是提升你的编程是算法与数据结构的能力;那么就要尽可能将目标进行分析,从数据结构开始联系,循序渐进的扩大你的舒适区;
如果目标是提升你的工程能力,不妨开始创建一个项目;每天尝试写着项目功能的代码;当然最重要的一点是:保持重构
保持重构的目的是对比你过去和现在的技能、能力及其编程理解的提升

最最最最重要的是坚持

学习编码是一项技能,您可以将其比作运动。如果你想擅长它并在工作中表现出色,你应该多练习。

hi,我是 @编程大K ,擅长后端、人工智能、大数据处理的伪全能工程师,在平台输出关于技术文章、职业发展和自我提升的干货,看到感兴趣的实事热榜也忍不住唠两句嗑。想与你一同进步,可以通过这些回答来认识我呀:
机器学习方面的论文应该在哪找?
计算机互联网「寒冬」是暂时趋势还是永久趋势?
对你影响最深的计算机书籍是哪一本?
Spark的内存计算 主要体现在 哪些方面?
回复

使用道具 举报

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2025-3-5 03:20:08 | 显示全部楼层
非常好,顶一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| 黑客通

GMT+8, 2025-4-8 20:22 , Processed in 0.083603 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表