7个疯狂的技巧将帮助你成为一个更好的程序员

7个疯狂的技巧将帮助你成为一个更好的程序员有大量的开发人员编写了令人惊叹和实用的代码,在GitHub等网站上有成千上万的公共代码库。与此同时,我们其余的人只是满足于剪切和粘贴这些行业天才的代码。对于大多数人来说,真正的编码似乎已经成为一门失传的艺术。

现在,似乎几乎每个项目都使用某种库/框架或包含一堆插件。现在很少看到任何前端编码项目真正从零开始了。在这篇文章中,我想我会给出一些关于提高你作为前端程序员的技能的建议。

在为付费客户项目编码时,这些技巧可能不适用,因为时间和预算是重要因素。这些都是我们自己可以付诸实践的建议个人项目或者在业余时间尝试提高我们的编码能力和解决问题的能力。虽然我确实认为下面的技巧可以帮助开发者成为更强大的程序员,但它们可能并不总是实用的。

1.编写自己的框架

如前所述,几乎没有所谓的介绍项目了。一切都从某种代码库或样板开始。即使是拥有顶尖工程师的行业领袖像谷歌利用开源JavaScript框架,如jQuery

在后端,您可能会使用类似的东西WordPress另一个CMS。在前端,您可能会包括您最喜欢的JavaScript web开发库/框架和一个CSS重置。忘掉那些臃肿的东西吧。

而是编写自己的代码库,并根据自己的需要进行调整。是的,这样的事情可能会花费你很多小时,甚至几周或几个月的时间。你可能最终会放弃整个东西,并且永远不会在真正的项目中使用它。

但你别无选择,只能学习如何去做,即使这意味着做得不好。这是一项艰巨的任务,但它会带来巨大的好处。你会更好地理解语言的语法,概念会变得更清晰,你解决问题的能力也会提高。

即使它很小,比如你自己的JavaScript库(例如aJavaScript动画框架),它有六个模块,这将是非常值得的努力。将这类事情作为一个不确定的项目持续进行可能是个好主意。

你可以不断回到它,改进它,学习新的经验教训,添加新的功能。它可能仍然不会像流行的开源软件那样好,但您可能会学到比其他方法更多的东西。

2.不要使用开发者工具

如果您像我一样遇到了CSS中的脚本问题或选择器特异性问题,那么您可能首先会求助于一些与开发人员相关的工具,例如FirebugWeb开发扩展、谷歌Chrome的开发者工具等。例如,Firebug为跟踪和修复几乎所有前端编码问题提供了宝贵的特性。但是,请记住,像Firebug这样的工具还相当年轻。

开发人员90年代末21世纪初并没有使用这些强大的工具。尽管按照今天的标准,那些基本的开发技术可能被认为是“缓慢的”,但是使用这些古老的调试方法的开发人员和任何人一样了解他们的技术。如果您可以在不使用任何特殊工具的情况下调试CSS或JavaScript问题,那么这表明您对CSS和JavaScript的一些更深层次的部分有扎实的理解。

这个主题,特别是与调试工具相关的,是Jens O. Meiert讨论过的,我完全同意他的理论。当然,您不会像使用Firebug或您最喜欢的开发人员工具那样快速地解决任何问题,但是您很有可能从中学到更多,并避免在将来再次犯同样的错误。

3.不要使用浏览器

没有在环境中测试就创建网站?我提到过这些是疯狂的编程技巧吗?通常,如果你正在开发CSS布局或某种JavaScript功能,在编辑器和浏览器之间来回切换是很常见的,在你进行时检查你的东西。

相反,请尝试这个练习:编写完整的代码网页布局在完成所有工作之前,不要在浏览器中检查它。这将使您始终保持专注,确保每行代码都正确编码。您将被迫可视化代码的结果。

根据我的经验,能够可视化您编写的代码的结果是理解代码的重要部分。在某种程度上,忽略实际输出会迫使您逐行思考代码,这将帮助您更全面地理解代码的每一点。

4.不要使用代码生成器

这个技巧对于学习的来龙去脉尤其重要CSS3。有很多CSS3渐变生成器、按钮生成器和其他工具可以帮助你更快地编写CSS。这些都很有用,尤其是当你面临最后期限的时候。

一个CSS3梯度生成器可能很有用,但也可能妨碍对底层样式表概念的学习。但是,如果您花时间手动键入CSS3的每一行,您将被迫学习各种语法的所有不同部分。举个简单的例子不必属性(示例如下):

.shadow {Box-shadow: 4px 4px 8px rgba(0,0,0,0.2);}

如果您使用代码生成器生成这些代码,那么您将需要更长的时间来习惯每个值所表示的内容。另一方面,手动输入它可能意味着您必须检查参考甚至CSS3 W3C规范草案。

所有这些都将有助于更好地理解代码的工作原理。

5.手工键入图书代码示例

现在几乎每一本计算机编程书籍都会包含一个代码存档,可以下载或附带CD。这很棒。但是从复制和粘贴这么多代码中你能学到多少呢?

所以忘记代码存档吧。如果你有时间对书中的材料进行深入的研究,那么通过手工输入所有的例子来补充这种研究,然后测试它们以确保它们正常工作。这将对你的编码能力产生许多积极的影响。

这是不可避免的(特别是如果这些概念对您来说是新的),您会输入很多错误的东西,导致错误消息。这将迫使您仔细阅读书中的代码示例,并将它们与您自己的代码进行比较,直到发现任何问题。在学习代码后,您几乎可以立即调试代码,我相信我们都同意,许多最重要的编程课程都是在调试时学到的。

您可能还会在书中打印的代码中发现错误,因此这为深入理解所涉及的概念提供了进一步的机会。更疯狂的是:您可能希望对在线教程和文章中找到的代码示例做同样的事情。不要复制粘贴它们,而是手动键入它们。

同样,您将看到许多与上面提到的相同的好处。

6.使用香草文本编辑器

我所说的“香草”是指没有助手或自动完成功能的文本编辑器。或者你可以关闭编辑器的自动完成功能,假装你正在使用基于windows的工具经典的记事本在21世纪初,我曾经编写过经典的基于asp的网站,多年来,我用Windows记事本编写所有的代码(前端和后端)。

虽然有时这会严重拖慢我的速度,但我学会了根据记忆编写很多代码,而且我能够在没有任何特殊工具的情况下调试几乎任何东西。如果您在编写代码时没有得到编辑器的任何帮助,那么您将被迫记住比其他情况下更多的东西。

7.重新发明轮子

无论你接下来要做的是什么项目,都可能需要一些之前已经写过无数次的东西。它可以是lightbox,内容或滑块图片、图片库脚本或TAB切换器。几乎每个开发人员都会告诉你,你自己写这些东西是疯了。

但是想想看:你知道如何在JavaScript中编写(例如)一个lightbox函数吗?如果你不学习,那你怎么学习呢?你将从这些活动中获得的概念将具有巨大的长期价值。

从不重新发明轮子是荒谬的。如果你在整个开发生涯中都在剪切和粘贴别人的代码,那么你最多只能取得很小的进展。当然,如果您编写自己的灯箱脚本,它可能是有史以来最糟糕的灯箱脚本之一。

但谁在乎呢?在这个过程中你会学到很多东西,之后你可以回头看看你是否不能做出任何改进和优化。

结论

正如我在文章前面提到的,这些技巧不是你想要经常使用或在重要项目中使用的。

但是,如果你有一些空闲的时间,使用这些建议——即使你只是小范围地应用它。在我看来,这些疯狂的建议将帮助您发展自己的编码风格,并且您将更好地理解正在使用的代码的底层概念。

相关内容

WebFX职业

加入我们的使命,为全球各地的企业提供行业领先的数字营销服务-同时建立您的个人知识并成长为个人。

我们招聘!
查看30多个职位空缺!