首页 > 编程语言 >从一个新程序员到另一个程序员,保持代码井井有条和可读性的 3 个关键

从一个新程序员到另一个程序员,保持代码井井有条和可读性的 3 个关键

时间:2022-09-18 10:23:24浏览次数:104  
标签:井井有条 函数 可读性 一个 代码 练习 程序员 可以

从一个新程序员到另一个程序员,保持代码井井有条和可读性的 3 个关键

作为一个相对较新的程序员,我经常思考我是如何决定转行并成为一名工程师的。我一直对构建很酷的应用程序的想法很感兴趣,并且我编写了一些代码,但是没有接受过正规的计算机科学教育,我花了一段时间才意识到现在做这件事还为时不晚。

因此,一旦我正式决定这就是我现在正在做的事情,我就通过大量练习为我的训练营做准备。与此同时,我会观看 Instagram Reels 和 TikToks,人们会在其中制作一些你见过的最酷的东西(并让它看起来很容易!)。那些带有所有这些代码行的图像曾经非常令人兴奋。你知道那些!

Uhhhh use the return button much?

“哦,那太棒了,”我心想。 “完全不知道这意味着什么,但我总有一天能做到的!”

但是在开始训练营时,实际上在实践中看到了所有这些代码行吗?害怕!可怕,甚至! “哦,天哪,我的天哪?”我想。 “我不够聪明,不能这样做!”

好消息:我不是第一个有这种想法的新程序员,也不会是最后一个。更好的消息:现在是训练营的第 3 周,事情开始有了进展 很多 更有意义。我还没有走出困境——甚至还没有接近——但所有那些 Instagram 帖子都说编码很像锻炼,这是真的。你练习得越多,你就越强壮。

如果你是一个新的编码员并且你正在阅读这篇文章,那么首先,你好!并感谢您的阅读。第二,你有这个!不要气馁!是什么让学习编码变得如此令人生畏——尤其是在早期——是看到非常冗长的代码并对其进行筛选以弄清楚它的作用。这就是为什么它 如此如此如此如此如此如此重要 以保持您的组织和可读性。这样,您可以跟踪您正在做的事情并向其他人解释您所做的事情。

有很多方法可以做到这一点,但这里有三条建议——虽然不是新的或开创性的——对我有很大帮助,我希望它们也能帮助你。

存储您的变量和函数!

在您学习的某个阶段,您会遇到短语 DRY(不要重复自己)代码。在构建应用程序时,您将编写执行某些操作的代码,并且在代码中的其他地方您会想要再次执行相同的操作。那么你 可以 将一堆行从一个函数复制并粘贴到另一个函数中。那肯定行得通。但是为什么不节省自己的时间和精力呢?将其存储在函数中!给它一个描述性的名字!需要时调用它!

当您遇到高阶函数时,很有可能您不会立即掌握它们。如果你这样做,对你的权力,但个人?他们打破了我的大脑。将一个函数传递给另一个函数再传递给另一个函数……传递给另一个函数?!它的想法对我来说太元了。我不明白。无论我连续观看多少次,没有多少视频能帮到我。

但后来发生了一些事情。当我练习和建造东西时,我发现自己……在重复自己。我会写一个函数,然后,我会写另一个本质上做同样事情的函数。我想,“等一下,我不能把它存储到一个函数中并多次使用它吗?”就在那时它点击了!

以下面两张截图为例。不要担心他们做了什么,但要知道他们做的事情完全相同。 然而 ,其中一个在 77(!) 行中完成,另一个在 32 行中完成。

77 lines of code that took four zoom-outs to screenshot

这么多代码!但不一定是这样。看到那些 为每个 第 6 行和第 52 行的方法?在每一行下面是 16 行完全相同的代码。没必要这样!相反,我可以将其保存到一个函数中(在本例中称为 得到结果) 并调用它两次。

Ahhh, much better

逐行筛选代码已经足够费力了。当这么多行相同时,情况会更糟。一旦你得到了一些有用的东西?存储它!您可以稍后重用该功能,也可以不重用,这也很好。作为额外的奖励,您可以将函数的逻辑复制并粘贴到其他地方,弄乱它以尝试让它做不同的事情,所有这些都不会改变您保存的函数。这样,如果它不能像你想要的那样工作?或者更糟糕的是,它破坏了您的代码?你可以摆脱它,没有伤害没有犯规!

尽可能简化!

用很多逻辑写了一个很长的函数?那会发生的。但是很有可能 JavaScript 有一个内置方法,它至少可以用更少的行数完成你的函数的某些部分 更具体。

采取[ 地图()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) 方法为例。这 地图() 方法创建一个新数组,其中填充了在调用数组中的每个元素上调用提供的函数的结果 (MDN) .

因此,假设您想采用现有数组并以某种方式更改元素。在下面的示例中是一组猫名,包括我的猫 Willa 和我能想到的所有朋友的猫。我想取这些名字并在它们的末尾添加“猫”。猫薇拉、猫内莉、猫芬恩等等。

可以 用一个 对于...的 循环来做到这一点,像这样:

This works, but I have to really look at it to figure out what it does

但是你可以使用一个 对于...的 循环迭代很多东西。因此,如果您正在与某人一起编写某些代码,则其他人必须仔细阅读循环以弄清楚它在做什么。为什么不让他们更容易呢?相反,您可以使用 地图() , 像这样:

Oh! I see map! I know what this is doing!

既然我们知道什么 地图() 确实,很清楚这段代码在做什么!

这只是一个例子。有很多 内置 JavaScript 方法 这使您的代码更容易阅读和更清晰。记住使用这些方法需要一些练习,即使那样你也可能不记得语法。但是不要担心这一点,而要记住它们的存在和它们的作用——你总是可以查找如何实现它。

留言!

这并不完全是开创性的,但留下评论是一个重要的养成习惯!您将编写长函数。这是不可避免的。但是您并不总是需要通读代码的每一部分来查看它的作用,或者您将那个函数放在哪里。

当然,给函数起一个描述性的名称是有帮助的。但有时您只需要更多信息。例如, renderFeaturedBooksAndSomeButtonsOnThePage (我的意思是,你可以,但这有点长)。因此,我将保持函数名称简短。就像是 渲染精选 .然后在它上面,我会写一个评论说“ 在加载时呈现精选书籍和适当的按钮”。

作为一名新的编码员,您将编写一些代码,稍后您将从事一些工作并希望实现一些您知道自己已经完成的事情。你会想“我怎么又这样做了?”这就是为什么留下评论很重要!您不会记住所有内容,也不必记住!成为一名优秀的程序员不是要记住如何做所有事情,而是要知道在哪里可以找到如何做的事情。

学习编码可能会令人生畏!据说 至少 一亿次,但它值得重复,因为它是真实的。不过任何人都可以做到!练习,练习,练习,但是——最后一条建议——不要让自己筋疲力尽!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/37540/11571810

标签:井井有条,函数,可读性,一个,代码,练习,程序员,可以
From: https://www.cnblogs.com/amboke/p/16704300.html

相关文章

  • 如何成为更好的程序员?
    如何成为更好的程序员?Howtobeabetterprogrammer?每个程序员都问过这个问题。为什么?当有人对自己的工作充满热情时,他们会尽一切努力做得更好。这可能是因为竞争,也......
  • 成为一名程序员将如何挽救你们的关系
    成为一名程序员将如何挽救你们的关系5个步骤让你的职业变得更好Photoby帕特里克·托马索on不飞溅TL;博士编码并不全是乐趣和游戏;成为软件开发人员有很多优点......
  • 大龄程序员的价值在哪里
    如何让自己的人生更有价值的大前提下,作为一个技术人,不光要埋头技术,更重要的是抬头看路,对现在处境进行分析。工作已经几年了虽说技术还没到如火纯情的地步,但是对于小需求也......
  • 【前端特效】程序员给你的专属告白,快来转发给你心爱的那个她吧!
    【前端特效】程序员给你的专属告白,快来转发给你心爱的那个她吧!点击打开视频讲解更加详细<template><divclass="content"><imgsrc="../assets/live.gif"alt="......
  • A DRY KISS — 程序员的逗留
    ADRYKISS—程序员的逗留无论是新手还是经验丰富的程序员——如果你是一名程序员,你就会听到仅仅几个月的支持者保证“总是使用DRYKISS”。对于我们这些凡人来说,DRY......
  • 怎么样写出可读性强的文章
    1.你的写作听起要自然大声朗读自己的草稿,听起来不通顺的地方修改直到读起来感到通顺。2.力求简洁简介并不是说不可以长篇大论。如何做到简洁①去除不必要的词,或不重......
  • 程序员的钱真的好挣么?
    昨天看了统计,去年中国程序员规模已经达到600万,已经是一个庞大的消费群体了,他们的消费能力是毋庸置疑的。多少创业者在打他们的主意,从早期的CSDN,到如今的掘金,都靠吃程序员员......
  • 程序员的摸鱼加速器!
    ​ 最近趁摸鱼时间体验了一款神器,堪称后端前端们的摸鱼加速器,测试们的寿命催化剂。那就是:Apifox。中国自主研发的集文档、接口调试、Mock、接口自动化测试一体的协作平......
  • 每个程序员都需要知道的操作系统基础知识
    每个程序员都需要知道的操作系统基础知识实际上什么是操作系统?操作系统或操作系统可以理解为您可以在设备上获得的最低控制层。操作系统管理您计算机的内存、进程、软件......
  • 程序员如何实现财富自由?
    有国外的码农在论坛里提问:“为了过上更好的生活我两年前移民到法国后,开始从事前端开发,我的月薪从当时的1.5万涨到现在的1.9万。这样的工资还算可以,但我觉得不够多。......