赢在起跑线:培养写出好味道代码的必备习惯

2024-02-20 13:50

本文主要是介绍赢在起跑线:培养写出好味道代码的必备习惯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无论做什么行业,良好的习惯会让我们受益终生。它就如我们的指南针一样,指引着我们的行动,从而走向成功。

养成良好的习惯,会让我们的工作更加顺利,生活也会变得更加清晰。

当我们久而久之习惯了做这些事情的时候,我们就知道了什么时候该做什么事,将精力集中在一个方向,才能起到事半功倍的效果。

放在我们程序员写代码的过程中,想要写出好的代码,也要不断养成一些必要的好习惯,这样才能不断跟进技术,从而提升自我。

那么作一个程序员,应该具有哪些好的习惯呢?

写注释

也许很多程序员觉得简单的代码不需要去写注释。

但对于涉及到一些复杂的程序,就需要在每个类、方法、函数、参数以及其他数据明确添加注释。

02589a6bb4f2df29888067a1c33f8d48.jpeg

这样当你当你程序出错时,也可以更快的去找到问题,进行解决。对于项目后期迭代,也不会因为时间长的原因去重新看一遍代码,注释一目了然,可以大大缩短时间。

重视小细节

无论在开发还是在调试过程中,我们都要有严谨的态度,重视细节。

比如,由于不重视编写代码时候的一个小细节,少了一个括号。而在那里调试代码,反复调试,最后盯着代码看,查找函数名或者变量作用域是否有错误。

7b579be2d484554230a6e0e57eca226c.jpeg

最后发现是一个小语法的问题,少了个括号,这样的问题,真的很容易挨领导批评。

使用插件

很多时候没必要去重复造轮子。

当我们要扩展用户界面、程序或者网站的时候,插件其实是一种很好的方法。

262d8d9e3b3af042fe9bf74f262091af.jpeg

插件也可以帮助我们提供定制化功能。如果没有找到相应的插件,有精力自己也可以去开发一个。

利用 GitHub

只要是程序员,想必都离不开 GitHub 这个平台。

在这里有大量的开源项目,我们可以在上面学习到很多的新技术栈和框架

8ba577ab3a8a12fcb7781e67880a69da.jpeg

GitHub 有很多的项目中会用到的插件和模板,可以用在我们自身的项目当中。

利用 StackOverflow

也是一个社区平台。

上面有很多大佬级别的人,很热心,乐于帮助别人解决问题。

bc11bd160ce71dc6db99bc855e9bce60.jpeg

当你有解决不了的 BUG 困惑时,可以到 StackOverflow 上详细地描述好你遇到的问题,会有友好的人帮你解决难题的。

会用 Google

无论是在查阅资料还是解决工作中的问题,Google 都是我们的首选项。

相比于百度等其他浏览器来说,谷歌更加适合程序员去使用。

a80a799598bed3d460cf1726103094c0.jpeg

当我们程序报错时,你若无法理解错误原因,就可以在谷歌上进行搜索,在谷歌上基本排名前几的答案都能很精确的给到你解决方案的帮助。

多读 API 文档

每个 API 都有相应的官方文档进行介绍。

文档为你介绍了所有可用的参数和选项,也会为你提供一些示例代码。

a456ef7e7ee5c76686316fec59afc23f.jpeg

如果你对某一个插件或者框架技术理解还是不到位,可以多去拜读几遍对应的文档,相信读完会有很大收获的。

数据库做备份

在我们的开发和测试代码的过程中,一定要记住勤做数据库的备份。

这样,我们就相当于多了一份保障,就算后续发现,变更不合理也可以进行回退。

4e5d94a31965d805027a093bb9d2e6e3.jpeg

最好的建议是,在本地保存项目文件和数据库不同时间版本的备份。

敢于进行重构

在出于我们自身或者外界原因的情况下,经常会遇到代码臃肿不堪的情况。

优秀的代码是不断经过多次修改得来的,绝对不是一气呵成的。需要不停地重构,才能变成一份完善优质的代码。

f69a8bc492bc5eb801f36b62f40e4a73.jpeg

比如之前的项目,在开发过程中,不停添加若干新功能,出现小问题,没在意,在后期由于积攒的小问题堆在一起,显的代码十分臃肿,但是迫于完成开发进度,草草了事。以及有的系统 bug 很难解决或者根本无法解决,就算花费大额时间和费也解决不了,我们就要敢于去重构代码。

掌握多种语言

编程的语言是非常多的,每一种语言都有不同的领域相对应。

应该不断的去拓阔自己的领域,利用闲暇时间去自学其他的程序语言,这样会让你的编程思维能力得到更好的提升,思考问题也会更全面

1bb96d38d8e7fb1131a7876f9407cb54.jpeg

所谓不想当将军的士兵不是好士兵,这对于以后我们带团队也会有很大的好处。

良好英语阅读能力

对于程序员来说,英语是必不可少要掌握的技能之一。

圈子里还有这样一句话”不学好英语的程序员,不是一个合格的程序员”。

cae8c231fac87160e6b5ea3c3d916926.jpeg

属实程序员每天要打交道的代码,全部都是英文编写的,我们只有不断提升自己的英语阅读能力,才能更早的去了解到最新的技术,接触一手技术文档,对自己的项目报错信息也能很好的定位,找到哪块出的问题。

阅读博客

现在互联网很发达,基本程序员都需要去技术平台学习新的技术。

可以多多拜读别人的博客,然后与自己的所学进行对比。

85b19520b1a85a3bfb27445628901e30.jpeg

每个人的思维都不同,也许你有困难疑惑的问题,在别人的博客中,能为你提供一个不一样的思维理解呢。

技术输出

我们应该在学习和工作过程中,将学到的编程知识记录下来,并且将它分享给其他人。

坚持写作是有很多益处的,通过不断输出,你会加深对这项技术的深入理解。

7ce79325fe3e3ef4c5f0a3dfc9b0093d.jpeg

同时也会收获一些读者朋友们的建议,也可以从别人的评论中得到不同的看法,还会收获一些志同道合的朋友。

善于学习总结

技术是不断发展的,我们如果不及时的去学习和总结,就会被淘汰。

每个技术都不是一直保持领先地位的,我们就必须不断跟进新的技术,学习新的技能。

2e59763fb4e8d6479f6ac88006532fd1.jpeg

善于学习,对程序员来说不可或缺,找对目标,勤于总结。当我们项目完成时,要保持跟踪该系统的用户反馈,找到不足,需要改进的地方,不断提高自己,才能不会落后其他人。

学会自测

对于软件开发来说,并不是研发只负责研发,测试全部交给测试来做。

要想提升开发效率,就需要开发工程师在完成自己的代码的时候,首先自身进行一遍自测。

91d33f4a667e4c237e87cafee6fa5f09.jpeg

这样会让我们的 bug 尽早发现,去解决它们,大大提升了开发的效率,缩短开发周期,从而对项目的整体效率和建设提供可靠的保证。

团队协作

我们在开发过程中,都需要与团队中的小伙伴多多协作,不能只是完成自己的任务就可以了。

因为一个项目的最终完成,是靠一个团队完成的,个人能力再出众,离开了团队,也是无计可施。

2bfb9ec33b43450826c06b1fd7b7a717.jpeg

所以我们在研发过程中,应该积极与团队成员沟通,交流,这并不会浪费我们的开发时间,相反,有效的团队协作,会大大促进项目的早日竣工

保持工作激情

大部分程序员当初选择这一行业,都是由于高薪的原因。至于是否真的对编程有激情,或者热爱编程我想很难说。

然而,在我们多年编码过程中,一定要保持充分的激情与热爱,只有一份钻研代码的信念,我们才会真正体验到编程的乐趣

045f8157d30bb5bbb6204100be620f75.jpeg

兴趣是最好的老师,保持工作中最大的激情,我们在面对 bug 时,也不会厌烦,而是会迫不及待去解决它们,收获成就感

不断提升逻辑思维能力

众所周知,程序员需要拥有严谨的逻辑思维能力。

我们更多时间应该去明白了解需求到底是怎样的,如何实现的技术步骤。

8d07918433b5eaac6beafa8f0ec10824.jpeg

当需要考虑的问题在脑海里汇思好后,才回去利用剩余的时间写代码。所以应该不断提升自己的逻辑思维能力,是很重要的。

不畏压力迎难难上的信念

很多时候,其实摆在我们开发面前会有很多的需求。

当一堆项目同时需要在短期内完成的时候,我们不应该选择回避这些压力。

70a4d8486cb9db9de418c0ca376dcd38.jpeg

相反,更应该接受挑战,只有克服一道又一道难题,我们才会成为更优秀的开发者,这个信念也会对我们生活中有很大的帮助。

提高效率有效加班

程序员行业 996 工作作息已经是大部分企业内奉行的准则了。

这个我们无可避免,因为没有这么多的付出,是得不到相应的回报的。

1c70385735539be43c1998520b75760b.jpeg

不过,很多时候的加班我们自己也可以控制,大部分加班都是因为开发效率低下,赶不上项目的进度。所以,我们应该在平时工作中,多多提升效率,保持专注,这样才会避免不必要的加班。

这篇关于赢在起跑线:培养写出好味道代码的必备习惯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/728429

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

17.用300行代码手写初体验Spring V1.0版本

1.1.课程目标 1、了解看源码最有效的方式,先猜测后验证,不要一开始就去调试代码。 2、浓缩就是精华,用 300行最简洁的代码 提炼Spring的基本设计思想。 3、掌握Spring框架的基本脉络。 1.2.内容定位 1、 具有1年以上的SpringMVC使用经验。 2、 希望深入了解Spring源码的人群,对 Spring有一个整体的宏观感受。 3、 全程手写实现SpringM

代码随想录算法训练营:12/60

非科班学习算法day12 | LeetCode150:逆波兰表达式 ,Leetcode239: 滑动窗口最大值  目录 介绍 一、基础概念补充: 1.c++字符串转为数字 1. std::stoi, std::stol, std::stoll, std::stoul, std::stoull(最常用) 2. std::stringstream 3. std::atoi, std

记录AS混淆代码模板

开启混淆得先在build.gradle文件中把 minifyEnabled false改成true,以及shrinkResources true//去除无用的resource文件 这些是写在proguard-rules.pro文件内的 指定代码的压缩级别 -optimizationpasses 5 包明不混合大小写 -dontusemixedcaseclassnames 不去忽略非公共

麻了!一觉醒来,代码全挂了。。

作为⼀名程序员,相信大家平时都有代码托管的需求。 相信有不少同学或者团队都习惯把自己的代码托管到GitHub平台上。 但是GitHub大家知道,经常在访问速度这方面并不是很快,有时候因为网络问题甚至根本连网站都打不开了,所以导致使用体验并不友好。 经常一觉醒来,居然发现我竟然看不到我自己上传的代码了。。 那在国内,除了GitHub,另外还有一个比较常用的Gitee平台也可以用于

工程文档CAD转换必备!在 Java 中将 DWG 转换为 JPG

Aspose.CAD 是一个独立的类库,以加强Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格

众所周知,配置即代码≠基础设置即代码

​前段时间翻到几条留言,问: “配置即代码和基础设施即代码一样吗?” “配置即代码是什么?怎么都是基础设施即代码?” 我们都是知道,DevOp的快速发展,让服务器管理与配置的时间大大减少,配置即代码和基础设施即代码作为DevOps的重要实践,在其中起到了关键性作用。 不少人将二者看作是一件事,配置即大代码是关于管理特定的应用程序配置设置本身,而基础设施即代码更关注的是部署支持应用程序环境所需的

53、Flink Interval Join 代码示例

1、概述 interval Join 默认会根据 keyBy 的条件进行 Join 此时为 Inner Join; interval Join 算子的水位线会取两条流中水位线的最小值; interval Join 迟到数据的判定是以 interval Join 算子的水位线为基准; interval Join 可以分别输出两条流中迟到的数据-[sideOutputLeftLateData,