您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

五个帮助初学者提高编码技术的简单方法

时间:2023-09-26 10:36:31  来源:程序员不二  作者:

在从事软件开发的这几年中,我见过无数程序员写的代码,风格迥异,有工作仅两年就有良好编码能力的,也有工作七八年代码写的一团乱的,当然,我私下里也和这些程序员们沟通过不少,然后发现初学者有很多思想上的误区。

首先,他们会在网上找很多IDE,然后在各种社区看他们的评价,两三天换一个,一个好的IDE软件固然重要,但是IDE不能作为写好代码的标准。

其次,初学者更多关注的是代码的最终结果。比如一段代码能成功运行了,就认为自己实现了目标,殊不知从代码运行速度,扩展性等方面,还有很多值得改进的地方,就是因为不注意这些细节,很多程序员到了职业生涯的后期,编码技术一直未能提升。

坏的编码习惯影响的不仅仅是项目进度,还会严重影响自己的职业生涯,随着互联网的不断发展,很多公司的编码已经渐渐的向“标准”靠拢,对于程序员的编码风格和习惯都很看重。

对此,我总结了五种提高代码质量的方法,希望对初级程序员以及老程序员能改进他们的编码。

1.将大部分时间花在分析问题上

大多数的程序员在看完需求之后会直接跳入编码阶段。这种情况在初级软件程序员的身上尤为明显。初级程序员的性子都非常急躁,想尽快用更多的项目实践来填充自己的履历,提高自己的技术,但是这种方法尤不可取,越老道的程序员越会明白一个道理:

一个项目,70%的时间用于分析,30%时间敲代码。

如果不去分析而直接编码,首当齐冲的问题就是项目完成后会出现非常多的BUG,为解决这些BUG,你可以能花费很长时间,甚至会将原代码推翻重新去写。这样反而得不偿失。

所以每当进行新项目的时候,一定要先分析,提出一个解决方案,梳理成一个流程图,然后再进行编码。

2.一个问题,多种方案

“一个问题,多种方案”,是每个程序员最容易忽略的一点,一段代码一旦完成就过了,不愿花费更多的时间去多找寻几种解决方案,虽然说这会花费很多时间,但是如果能坚持这个习惯,思维逻辑会有很大增强,同时以后遇到相同的问题,你会找出最佳的解决方案。

这种方法也有助于提高程序员在后期所需要的批判性思维,有了批判性思维,遇到问题之后可以迅速整合出多种方案,根据速度,内存等其他因素选择出最适合的解决方案。

当然,很多人在刚开始的时候根本想不出多种解决方案,我这里有个方法,可以在开源平台或者社区搜索。比如StackOverflow和Github

3.多看看别人的代码

即使在同一个项目组,也很少有程序员会互相看同事的代码,只完成属于自己的模块。同理,初学者也不会去网上看其他人的代码。

正如我上面所说的,每个程序员都有独特的编码风格。阅读其他人的代码会给自己带来很多收益,除此之外,如果进行的是同一个项目,你也能了解到其他模块的进度,能更加熟悉整个项目

所以在完成工作后,抽出一点时间来看看其他同事提交的代码,进一步了解自己的项目。

4.培养自己的耐心

很多开发人员不注重细节,对待事情也没有耐心,比如项目的单元测试,很多人对单元测试不屑一顾,认为单元测试的主要目的是测试代码的覆盖率,其实并非如此。

单元测试可以帮助开发者删除不必要的代码行,改善代码和整体项目的性能。

我建议大家可以耐心一点,最好能给每个模块编写单元测试用例。试着实现90%以上的代码覆盖率,删除不必要的代码。

5.时刻更新自己的知识

如果自己不学习新的技术,那么五年之内,你必将遭到淘汰。

这句话并不是危言耸听,而是时时刻刻正在发生着,就连负责维护开发语言的厂商,每年都在更迭版本,确保语言不会落后,被市场淘汰。

当然,这些语言的技术更新也会给开发者带来很多便利,比如以下代码:

// Old ApproachIf (sampleObject != null)

{

If (sampleObject.result != null)

{

string result =sampleObject.result;

}

}

// New approachIf (sampleObject != null)

{

string result = sampleObject?.result;

}

在旧的方法中,首先检查对象是否为null,然后检查该对象内部的特定值是否可用。最后才可以将该值分配给变量。

在新方法中,可以直接查询对象的属性,如果属性为null,则返回null值,而不是抛出null引用异常。

这个实例很好的诠释了新语言的便捷性。

所以我们要经常学习心得知识,关注技术博客,阅读有关新功能的文档。在新的项目中尝试使用。

写到最后,以上就是改善自己代码技术的五种方式,希望对大家有所帮助。想学习更多编程技巧, 欢迎持续关注好学编程!



Tags:编码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
为什么只有Unicode是不够的,UTF-8如何解决编码问题?
UnicodeUnicode是一种字符编码标准,它为世界上几乎所有的文字和符号分配了唯一的数字编码。这使得不同的计算机系统和软件能够正确地显示和处理各种语言的文字。Unicode采用1...【详细内容】
2024-01-04  Search: 编码  点击:(91)  评论:(0)  加入收藏
Google Play谷歌开发者公司邓白氏编码办理流程
Google Play是谷歌公司推出的一款应用程序市场,为开发者提供了一个平台,让他们可以将自己的应用程序发布到全球用户手中。在Google Play上发布应用程序需要邓白氏编码(邓白氏编...【详细内容】
2023-12-20  Search: 编码  点击:(69)  评论:(0)  加入收藏
5 个让日常编码更简单的 Python 库
如果曾经在 Python 中使用过 subprocess 库,那么我们很有可能对它感到失望,它不是最直观的库,可能还有些复杂,并且很难处理底层系统调用的输出。但是 sh 库结束了低效使用子进程...【详细内容】
2023-12-14  Search: 编码  点击:(155)  评论:(0)  加入收藏
Protobuf编码原理及优化技巧探讨
作者:carmark本文将在proto3语法背景下,介绍protobuf的编码原理,并结合业务场景探讨部分优化技巧。1、Protobuf编码原理介绍序列化算法被广泛应用于各种通信协议中,本文对序列化...【详细内容】
2023-12-06  Search: 编码  点击:(44)  评论:(0)  加入收藏
使用 CodeWhisperer 作为 AI 编码助手,重新构想软件开发
在 Amazon CodeWhisperer 正式发布后,许多客户都已经使用它来简化和精简其软件开发方式。CodeWhisperer 使用由根基模型提供支持的生成式人工智能来理解代码的语义和上下文,并...【详细内容】
2023-11-30  Search: 编码  点击:(118)  评论:(0)  加入收藏
邓白氏编码如何查询
邓白氏编码,即D-U-N-S编号,是一个全球公认的九位数字商业标识符号,被广泛应用于企业识别、风险管理和市场研究等领域。对于需要了解企业邓白氏编码的人来说,如何进行查询是一个...【详细内容】
2023-11-21  Search: 编码  点击:(73)  评论:(0)  加入收藏
CSS 新功能:让编码更高效
CSS 是一种不断发展的语言。每一次迭代,它都会变得越来越好。因此,了解最新的 CSS 功能非常重要,这样你才能在项目中使用它们,减少对第三方库的依赖。本文将介绍一些即将推出的...【详细内容】
2023-11-16  Search: 编码  点击:(159)  评论:(0)  加入收藏
避免Python乱码陷阱:字符编码详解
在Python编程中,处理字符编码和乱码问题是一个常见的挑战。特别是在处理文本数据、文件输入/输出和网络通信时,可能会遇到各种字符编码问题。这篇文章将深入探讨Python中的乱...【详细内容】
2023-11-13  Search: 编码  点击:(271)  评论:(0)  加入收藏
碾压GPT-4,微软最强AutoGen爆火!多个智能体协作,编码速度飙升4倍,GitHub狂揽10k星
新智元报道编辑:桃子【新智元导读】AutoGPT之后,AutoGen逆袭成功。AI智能体热度,只增不减。发布仅2周,微软、PSU和华盛顿大学等团队开发的智能体AutoGen瞬间登顶GitHub热榜,狂揽1...【详细内容】
2023-10-16  Search: 编码  点击:(357)  评论:(0)  加入收藏
Redis类型(Type)与编码(Encoding)
Redis是一款开源的高性能key-value数据库,广泛应用于各种场景。在Redis中, 数据类型(Type)和编码(Encoding) 是非常重要的概念。本篇博客将详细介绍Redis支持的数据类型以及相应的...【详细内容】
2023-10-16  Search: 编码  点击:(291)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条