从一个新程序员到另一个程序员,保持代码井井有条和可读性的 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