找回密码
 立即注册
搜索
查看: 72|回复: 0

提升编程能力与技巧水平:明确目标、多实践总结

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
63709
发表于 2024-10-4 05:10:44 | 显示全部楼层 |阅读模式
目录

前言

一种学习编程的方法

1.1 明确目标和范围

1.2 学习方法

2. 编程能力的提高

2.1 多练习

2.2 多思考

2.3 多沟通

2.4 了解更多

2.5 更多总结

三种编程习惯和技巧

四个人经历过

总结

前言

互联网行业是一个充满挑战的行业。互联网行业是一个充满挑战、内部圈子严重的行业。作为一名程序员,如何让自己保持在良好的水平或者避免落后,需要不断的学习来提升自己。 ,这篇文章将和大家分享一下我们如何提高自己的编程能力和技巧。

一、编程学习方法 1.1 明确目标和范围

互联网行业不同于其他行业。知识体系确实庞大,知识更新也很快。作为一个普通人,我们不可能什么都学会,所以我们在提升技能的时候,首先需要明确一个目标,然后制定一个完整的计划,找到好的学习方法,这样我们才能更快的提升自己。

例如:我是一名开发人员。我不会今天看C++,明天再学。我会首先选择提高自己的开发能力,优先学习开发相关的内容,掌握这个领域到一定深度,然后再拓宽其他知识。在学习自己领域的知识时,我会优先总结整理出自己专业范围内的知识体系图谱,类似这样:

这样,你就可以清楚地界定你需要学习的知识范围。明确了范围之后,就可以制定一个完整可行的计划,按照计划一步步学习,每天学习一点、消化一点。只有这样你学了知识之后,它才会成为一个体系。

1.2 学习方法

内容明确,计划制定。接下来就是如何学习了。有很多学习方法。现在获取知识的途径太多了,但我们的时间却有限。如果我们能够好好规划和利用自己的时间,选择适合自己的学习方法,是提高学习效率的前提。这里我简单列出几种方法,并比较几种方法的优缺点。具体细节我就不一一阐述了。

1.2.1看书

优点:我认为这本书最大的特点就是知识全面、严谨。

缺点:有点无聊。一本书里的很多内容对我来说可能没有多大帮助。可能只有一两章对我有用。

1.2.2 观看视频

优点:视频上手简单,可以看到操作和演示

缺点:不系统,通常注重重点而忽略细节。许多系列视频都是付费的。

1.2.3 访问技术网站

优点:获取新技术,了解同行正在学习什么,不落后

缺点:内容复杂,层次参差不齐,没有识别能力,容易被误导。



1.2.4 报名参加培训班

优点:完整、系统

缺点:时间要求高,学习成本高

1.2.5 有领导或同事指导你工作

优点:我认为这种学习方法是最快的

缺点:遇到这样的人并珍惜需要运气

2. 编程能力的提高

为什么我要花这么长的篇幅讲一大堆学习方法呢?因为我觉得所谓技能的提高也是有前提的,就是你必须有很好的基础,否则就没有进步。想要进步,就必须有良好的基础。它非常坚固,所以你必须先打好基础。

例如:2012年刚开始学习Java编程时,我习惯用手写Bean实体类。后来开发工具换成IDEA,再转做移动开发,才知道有插件可以直接生成Bean实体类。无需手动编写。只需将后台的JSON字符串复制到工具中即可一键生成。生成后可以直接使用。但如果你从来没有手写过,只是用工具生成的话,你可能不知道生成的代码中有多少个方法以及每个方法的作用,所以这就是基础的重要性。

那么我们打好基础之后,怎样才能快速提升自己的水平呢?

2.1 多练习

编程行业可能对你的理论基础要求不是很高,但对你的实践能力要求却很高。说白了:说多少不重要,重要的是你能做出东西。我欣赏的不是那些话多的人,而是能解决各种问题的人。没有那种高手解决不了的bug,没有实现不了的功能。创建的各种功能和项目不能说没有bug,但是bug很少,系统功能非常稳定。

那么怎样才能达到大神的层次呢?其实,大神也是一个普通人。他之所以成为大神,就是因为他走过了一个又一个的坑。他遇到并解决的Bug比常人多,所以他在做任何功能的时候都会考虑各种工况。各种数据导出和入口,各种风险。经验来自实践,实践出真理!对于编程行业来说,实践尤为重要!没有实践,学习就像无源之水、无本之木。

例如:我刚入行学习Java编程。我的培训老师在讲空指针知识点时说:如果你以后从事编程行业,这个问题会一直伴随着你!其实,当我听到这句话的时候,我心里想的就是:这么简单的事情怎么会出问题呢?

后来我想我不用多说了。只要真正写过代码的人99%都遇到过这个问题。所以无论别人教你多少各种方法,永远不会像你真正写过一次那样深刻。

我明白提高编程技能没有捷径。一定是做更多的项目、踩更多的坑所积累的经验。

2.2 多思考

除了实践之外,还有一点就是在做任何功能或者解决任何问题的时候要多思考。如果脱离了思考,无论做多少项目,都只是机械的重复。这次我遇到了空指针的bug。解决之后是不是应该想想下次如何避免呢?下次你写类似的代码时,你应该使用更多的判断吗?我们是否应该考虑与后端讨论数据传输规则以过滤掉空项?即使是在后台处理,我们是否需要考虑当后台传入的值出现异常时,我们的前端如何处理显示呢?有人说,如果后端出错了,我还需要付费吗?年轻人,情况需要改善。我们是一个团队,一个整体。不管是谁的问题,项目出了问题,大家都有责任。只有做好自己负责的功能,提前规避各种风险,一个成熟的程序员才能诞生。

2.3 多沟通

提高自己的另一个好方法是与业内人士交流,可以是你的同学、你的同事,也可以是你的领导。因为在聊天的过程中,你可能会不经意间知道一些新的知识点,学习新的技能。我以前是做开发的。说实话,我当时是部门经理,从来没有用过ADB 。为了调试,我以前是插线在真机上调试的。曾经和部门的一个新开发人员聊天,从他那里学到了无线调试的方法。方便多了。有时您不必担心线路是否断线。类似的场景还有很多。因此,与周围的人交流、谈论技术是一个非常好的方式。

2.4 了解更多

互联网行业技术发展迅速,新技术层出不穷。拥有良好的学习能力,能够及时获取新知识,随时补充和充实自己,已经成为程序员职业发展的核心竞争力。一个能够不断进步的人才,他的前途更加广阔,前景更加光明。尤其是对于IT行业这样每时每刻都充满变化的领域来说,学习能力就显得更加重要。因此,我们必须不断学习,才能保证自己不落后。这是一个需要不断学习的行业。你可以看看一些业内大佬的博客和公众号。从大师的博客中我学到了很多东西,在第一部分我也提到了其他的学习方法。您可以根据自己的实际情况做出选择。

2.5 更多总结

日常的工作和学习其实很枯燥,需要坚持。最好的方法是回忆每天学到的东西,然后写下来。写博客是加深记忆、提高对这个知识点理解的好方法。很多人不敢开始,因为害怕自己写的太简单,别人会笑话他们。事实上,没有必要这样做。只要是我们想到过的,我们都可以记录下来。我们要做的就是为自己积累,而不用在意别人的看法。

刚开始创作的时候,我只是记录了一些基础知识点。后来逐渐写了一些解决具体问题的文章,后来又写总结性的文章。现在转管理了,我会慢慢写一些行业和管理方面的文章。简而言之,我一直在写。坚持这个过程将有助于你加深对知识的理解。另外,如果以后遇到类似的问题,应该看看之前是怎么解决的。我经常遇到同样的问题,但我仍然忘记了当时我是如何解决的,然后我尝试自己解决它们。我们看一下博客,看看当时是怎么解决的。还是那句老话:记性好不如文笔好。不断地回顾和总结是非常重要的。

三种编程习惯和技巧

我开发了这么多年,积累了一些经验。我想在这里和大家分享一下:

1、做项目的时候,先问清楚需求,然后用思维导图工具列出所有的可能性。想通了所有这些之后,构建项目并编写代码。有句话很经典:多思考,少编码!



2.当你遇到以前没有遇到过的功能时,就去上面搜索即可。搜索的时候,找到星星多的,下载试试。学会使用关键字进行搜索。关键词一定要简洁,这样你搜索的内容才会最匹配。高,比如搜索一个开源视频功能组件,可以写:视频播放器,然后选择最多星星。一般来说,前几种是主流。

3、写代码的时候,一定要保持良好的编码习惯。最好按照一套固定的编码标准来编写。许多主要制造商都发布了编码标准。例如,函数和变量需要被定义得有意义,以便其他人一眼就能理解它们。建议多阅读源码来完善这部分。定义的变量可能还需要避免一些第三方库函数或变量名。

4、写代码时,对一些关键函数和逻辑写注释,添加必要的解释,解释基本逻辑。但不要到处留下评论。如果是这样,那么你的代码一定写得不好并且难以理解。

5、写代码的时候,并不是越复杂越好,而是越简单越好。该函数必须定义简单。如果太复杂,定义多个函数。例如:for循环必须减少级别。如果层级太多,我们就要想办法优化。

6、定义变量时要注意初始化,定义数组时要防止下标越界。

7、一些好的功能或者作用一定要单独记录保存。我建议组织您自己的工具库并保存所有有用的函数或工具类。

8、养成随时ctrl+s保存的习惯。不用说,吃过亏之后你就会想起它。

9、尽量复用对象,尽可能定义和使用局部变量,避免随意使用静态变量。

10、养成添加TODO的习惯,比如一些不太明白的点、一些需要后续优化的点、一些未处理的逻辑等,添加TODO对于后续的搜索非常方便。

11、删除不必要的代码,保持整体整洁,并保留以备不时之需。这个可以通过git版本控制等方式解决。

12、重构可以帮助提高代码维护的效率。花时间重构一些因为时间等原因写的乱七八糟的代码,对你一定有帮助。

13、将您常用的技术网站、工具网站、资源网站分类收集到标签中,方便查找,提高效率。

以上是个人的一些经验分享。如有错误,希望大家批评指正。其他内容我会在想到的时候随时补充。编写代码时需要考虑正确性、可读性、健壮性、可测试性、可扩展性和可移植性。性、表现等一系列问题,因此需要以严谨的态度去对待。在这个行业拥有良好的心态非常重要。

四个人经历过

在这一章里,我会稍微离题一下,和大家谈谈我的个人经历。我希望你能从我的一些个人经历​​中得到一点启发。

我是专科毕业的,不是学士学位。那时我对自己在学校的前途很迷茫,担心毕业后找不到工作。我在大学期间接受过 Java 开发培训。毕业后,我找到了一份Java开发工程师的工作。在我的第一家公司,由于公司业务扩大和公司的一个同事学习了开发,后来为了加薪跳了好几个工作。他在之前的公司工作了 5 年。工作范围为开发工程师->开发组长(6人)->移动端开发组长(11人)->项目经理->部门经理(30人左右)。目前在国内一家上市公司担任项目经理。

工作时间长了,我逐渐明白,技术实现只是整个产品生命周期中的一个环节,而且是一个很容易被替换的环节。为什么这么说是因为我转任管理岗位后经历的一些事情,包括与公司领导的沟通。这是他们向我传达的信息。技术实现,在一些人看来,就是工具环节。如果这个人做不到,那就再找一个人吧!如果公司里没有人能做到这一点,我们就雇一个人。如果我们招不到人,我们就会找外包公司。总之,不能影响我的产品上线或者交付给用户的日期。所以作为技术人,我们需要不断提升自己,这样才不会被轻易取代。 3月份我还参加了华为云的内容共创活动。当时的任务标题是“如何成为一名不可替代的程序员”? 》,文章还讲解了如何让自己保持竞争力,变得难以被取代,有兴趣的同学可以阅读一下。关于如何提升自己,保持自己的竞争力,我跟大家分享一下我个人的一些习惯:

1、刚入行的时候,不知道Java怎么调用。当我遇到不懂的问题时,我就去问当时带我的组长。他每天都对我很不耐烦,但我从来不是为了自己而这么做。我放弃了,第二天就问他,因为我觉得自己不会写比他看不起我更丢人。

2. 我写代码已经有大约8年了。当我负责的功能测试中出现bug时,我会自己查阅各种资料来寻找解决的方法。我已经无数次熬夜了……

3、每次下班前,我都会在脑子里回顾一下每天的工作,然后整理一下当天的工作,在文档中做好记录,然后提前计划好第二天要做什么工作。

4.我每天下班的路上经常会浏览一些技术网站,然后看看有没有什么新的技术东西。

5.自2015年开始写博客以来,我一直保持每月更新不间断。这个习惯对我很有帮助,因为写很多内容确实会加深我的理解。

6.对于我博客早期写的一些功能实现文章,我会单独编译一个DEMO,然后上传到平台。我觉得这个习惯可以帮助我加深对这个功能的理解。

7、当收到新的需求时,我会首先仔细考虑各种工况和各种风险,然后思考技术实施方案,包括后续可能的扩展,是否可以做成组件并用于后续的类似项目等。在这种情况下,我从不急于写代码。我总是先仔细地阐明我的想法。这里我推荐大家使用思维导图。

8、后来写代码基本上就是复制粘贴。我自己封装了一个项目,从自己以前做过的很多项目中整理出了类似的项目。当我接手一个新项目的时候,我就直接拿它作为一个框架,在这个框架上添加新的业务。真正需要手动输入的需求代码很少。

9、说实话,我很少看书或者看视频来学习,但是经常看一些大平台的开源项目。感觉一下子能学到很多东西,很多自己认为好的部分都会复制到自己的项目中。

10、平时有收集的习惯,比如好的技术实现文章、有用的技术网站、有用的工具网站、好的开源项目……

11、遇到一些技术难点或者难以实现的要求时,一般不会直接和产品打交道,调整心态。心态真的很重要。多考虑解决方案,少考虑困难。一般情况下,只有实在解决不了的时候,你才会杀掉他。 ..

总结

我们因为热爱而进入这个行业。最后希望大家在编程的道路上保持初心,越走越好!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【远见汇智】 ( 京ICP备20013102号-17 )

GMT+8, 2025-5-5 16:00 , Processed in 0.083911 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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