面向青少年的提示:建立良好的生活习惯

这组技巧是为初级用户设计的,但对于有兴趣养成良好习惯的任何开发人员都可以使用。 我会不断地为自己设定艰巨的任务,并离开舒适区,在这里,您会以每天的小费形式从我的经验中发现压力。 反过来,您可以为我提供未在此处列出的想法-我努力不断提高自己的技术水平,并超越自我。



因此,让我们开始吧。

1.尽可能多地审查技术


技术概述-这些是与您所在部门的创新保持同步的措施。 关于这一点,您不能多说,但我认为,它很好地说明了简单阅读如何帮助您进行自我教育。 即使您没有完全理解本文的主题,也没有学习如何去做本文所关注的主题曲,您至少会意识到这完全会发生。 这非常重要。

现在,Web充满了旨在使我们保持最新状态的服务和工具。 它们值得使用,它们可以成为您每天,每周或每月申请最新新闻和新想法的主要来源。

Netvibes这样的工具可以通过将您选择用于技术审查的所有资源放到一个流中来节省您的时间。 我还建议您花一些特殊的时间(例如,星期一和星期四)来查看提要和阅读材料,而不是试图不断跟踪新闻。

以下是我每周阅读的一些网站和论坛:


但是,如果使用此类内容聚合器,请尝试着重于工作中需要的那些技术。 有了它们,分心并开始从一个跳到另一个太容易了。 是的,是的,关于新加密ICO的最后一篇文章只是炸弹,但是您自己使用加密货币吗? 重点。

2.查看并拆卸凉爽的地方


您可以在以下网站上找到出色的网站,资源和实验代码:


但是这里的目的不是要看着他们说:“好吧,我永远做不到。” 问问自己如何实现所有这些魔术,尝试了解使用了哪些工具。 新技术,JavaScript新库,您不知道的某些CSS属性? 我们生活在一个每天都有新解决方案出现的世界中-教育进程简直无法跟上。

但是,我建议您不要仅仅研究该过程-尝试重复该过程,并详细说明其工作原理。 这里的一般规则是:如果您可以教别人如何做,那么您已经掌握了该主题。

去年,我花了很多时间更改工作流程。 除其他外,我将很多站点分解为组件,从而研究了才华横溢的开发人员如何构建它们。 通过所有这些步骤,我可以在工作中结合不同的方法,并发现创建网站的良好做法。 这使我想到了下一个想法...

3.向经验丰富的人学习


通常,当您在公司担任初级职位时,其中一位主要的开发人员会为您提供指导:他查看您的代码,为您创建任务列表,并确保您不会删除数据库。 随意提出问题,以尽可能向他们学习。 要求显示他们在上一个网站上是如何做的很棒的事情,或者是使整个团队生活变得更轻松的大型组件。

最重要的是:不要害怕问您觉得愚蠢的问题。 我们每个人的职业生涯都具有不同的知识水平,因此自然而然地询问一些似乎对其他人来说很基础的事情。 这些问题的答案可能会帮助您很多年。

最好的学习方法之一是代码检查。 如果您不习惯于定期阅读别人的代码,请尝试成为实施此做法的人。 不要犹豫,请其他团队成员检查您的代码,并说说可以做得更好的代码。 听他们的评论。 加入讨论。 说明他们为什么这样做,而不是按照他们的建议。 意见,讨论和彼此取长补短可能是自我完善的最健康方法。

4.永远不要忘记编写代码注释


是的,据我了解,自从您开始编写代码以来,您已经听过一百万次此建议-在Internet上,来自上级,来自老师,有可能来自您的狗。 注释的意义不仅在于使代码易于理解(其他开发人员,甚至将来使您自己),它还鼓励您在编写函数之前考虑一下功能,以确定其目的。 而且只有一个。

避免创建multiSuperTaskFunction()。

// I don't know Rick mySuperFunctionAddRemoveCreateEarth( $string, $purpose1, $bool) { $var1 = true; while($var1) { addNewHumans++; } else { heregoesnothing(); } } 

举例来说,假设您开始编写一个可以管理行星生态系统的函数。 如果您习惯在代码上编写注释,则可以毫不犹豫地将代码分解为几个函数的序列,每个函数都负责特定的任务。

 /* * Handler to create the planet system */ Class Planet { public $name; /* * Set the name of the instancied planet * @var STRING $new_name Contain only a string to name the planet */ function set_name(string $new_name) { $this->name = $new_name; } /* * Function to access the name of the planet * return STRING $this->name Contain only a string with the name * of the planet */ function get_name() { return $this->name; } } 

将功能划分为小片段的原理有助于更快地发现错误。 它还使分离特定的元素变得容易,这些元素以后可以在其他项目中使用(模块化组件)。 最终,代码将变得更易于阅读,而且当您将代码交给某人查看时,您将不必隐藏视线。

5.自我修复:重构


但是,如果您依赖除您以外的所有人,您将无法提高或获得对自己的信心。 这就是为什么重要的是要返回到您的混乱代码并对其进行整理。 N [而且我认为,这比开发某些新功能更有价值。 因此,下一次产品经理询问您花了五个小时的时间完成哪些类型的无偿任务时,请随时回答:“我重构了代码。”
“代码重构是一种有意改善构建现有代码库的技术。 它包含实施一系列小的节能更改,而每个更改单独“都不值得浪费时间”。 但是,这些更改的累积效果非常显着。 通过分阶段地将它们少量地引入代码中,可以降低出错的风险。” -马丁·福勒
简而言之:尝试定期检查代码并进行不影响功能的改进。 使它更快,更整齐,更具可读性,更模块化。 我这样做是这样的:我为自己注意到一些代码,我对这些代码并不感到骄傲,或者由于截止日期而不得不匆忙编写代码,几周后我又回到了上面。

随意编写此代码或代码段时,通常背后有一些充分的理由。 但是,找不出时间来解决问题的借口很难找到。 代码中不稳定的部分总是会像达摩克利斯之剑一样悬在您的头上。 回顾代码,解散复杂的功能当然是很多工作,但是在记录时间内做同样的事情,因为在产品已经被抽出时激活了某种错误,甚至更糟。

最好不要着急并适当地研究自己的错误。 从长远来看,这将为您节省大量时间,神经和心理健康。

6.犯错


我的意思是?!

开始编程后,我意识到提升到一个新水平的最有价值的方法之一就是经历许多失败。 相信我,几乎不可能避免一些错误,这是完全正常的情况。

您是否曾经在一个项目中规定过五次相同的功能? 我在这里不止一次或两次。 但是由于我面对这样的情况并开发了某种模型,所以这种情况不再发生。

因此,不要害怕犯错误。 您会重复多次,但是随着时间的流逝,这种情况会越来越少。 您一生的职业生涯都必须充实您的知识基础,并适应技术的变化,但这就是我们工作的美丽-每天您学习新知识。

Source: https://habr.com/ru/post/zh-CN427391/


All Articles