作为一个PHP开发人员,或任何类型的开发者作为事实上,你需要不断地提高自己在这个不断变化的行业; 你需要学习,天天用新的知识。
什么成功的开发者的共同点,就是他们关心的节目很多,他们是专业治疗良好的编程习惯作为一种艺术形式。
在本文中,您将了解如何通过遵循编程的“礼仪”一个更好的开发,你将学习如何使用这些信息也许教别人更好的自己。
如何成为一名专业
专业,不管你的工作在工作中,始终与你开始。 专业人员首先是有很强的个性和特点。
正如在生活的任何领域,编程专业人士推崇。 让我们来看看你如何成为一个。
不要自私自利
我已经有机会在工作大型团队,因为我练这门手艺和最重要的团队活力我很早就学会了是团队和合作齐头并进。
你做的大部分时间在一队有什么借鉴和互相学习和工作环境应经常拥抱和奖励共享。
如果您不想共享您的工作和知识,你是傲慢和/或有一个大的自我,你会不会感到舒适的工作在这样的环境中。
要负责任
非专业人士不必对自己的工作负责。 这是留给经理。 他们刚刚获得分配给他们的任务,忘记所有关于它当时钟命中下午5点。
一个专业的程序员不能接受这一点。 你会感觉如何,如果你的bug花费公司几千块钱?
这是一个问题,其中解决方案还取决于管理以及该公司如何处理它。 每家公司都应该鼓励开发者利用自己的行为责任,更重要的是他们写的代码。
如果你的错误滑到生产服务器,做你的力量尽快修复它的一切,即使这需要一整夜。 这种由非专业人士分开你,并让你更高的薪水。
接受批评
没有错误的软件是不可能的写和我们犯了一些愚蠢到库中的所有受害者。
我们如何对待批评说了很多关于我们是如何看待的开发商。
每个批评都应该听取和教训,因为那是什么让你更好的在你做什么,特别是如果你用谁比你做的方式更多的经验的人的批评。
具有良好的职业道德
作为一个专业的是不停的工作。 学习不会持续朝九晚五。
不断的学习,实践和提高自己才是自己的投资,这是你的责任,而不是你的雇主。
这也应该发生在工作之外 - 你不应该抢你的雇主的时间,最新的SitePoint教程读了[嘿! 简单! ;)-Ed]。
只是有没有足够的时间,你说呢? 当然有! 你只要想聪明。 如果你想认真对待你的职业生涯,然后专注于它当回事。
早起,留下一点点晚了。 使用这些额外的时间,你的优势在不牺牲你的健康和家庭。
短短半小时之前和之后的工作方式每周额外增加5小时。 这就是半个多其八年小时工作制。
如何编写好的代码
阅读源代码
看看这样说:你不能学会快速阅读,如果你不练,在所有阅读。 开发商的工作就是编写好的代码,但你不能写出好的代码,如果你不知道什么是好的代码的样子做。
大多数开发商盲目使用第三方库而不触及源代码。 这是正常的事,而是要了解特定的库可以帮助,你需要在更深的挖掘和阅读它的源代码,注释,运行测试(如果有任何)。
读代码将帮助您快速找到其他开发者的失误太多,这有助于如果你做代码审查或结对编程了很多。
学习新技术
永远是开放地学习新的技术和决定他们如何能帮助你成为一个更好的程序员。
开放新的东西的时候,不只是解雇的最新发展趋势,因为你认为他们会通过。 一切都是周期性的,但什么是不变的就是打开你的心给它留给你的知识。
一个良好的开发从未停止学习,即使有15 - 20岁他身后的实践。
慢一点
放慢手段采取一点点的评价你试图解决的问题更多的时间。 速度快是不是你应该争取。
我见过的初级开发人员获得任务和提供的代码一样快,因为他们可以,导致缺陷代码,这花了更多的时间来修复比他们坐了下来,以为真的很难正确的解决方案。
高级开发人员懒惰,迟钝,这是每个人的最佳利益,因为一个好的程序员不希望做的工作两次。
对于高级开发人员,编写实际的代码占用花费在任务的他的时间的三分之一,剩下的就是思考问题的好解决方案。
测试你的代码
这会不会是一记TDD或无TDD争论,但记住,任何性质的测试是提供高质量的代码非常重要。
你怎么知道如果事情不破测试它? 你知道你在做什么几个月前的一个特定功能的代码库?
从测试,可以了解代码是如何实际工作。 这就像为开发导向,就像一本书的目录。 测试表明你在哪里外观和寻找什么。
编写测试你的代码是重要的,很难,但它被证明是在长期运行的无数次有益的。
了解你的工具集
知道你可以使用什么样的工具来帮助你打的问题。 大多数的工具,在这一天结束时,归结为优先,但请记住,一个很好的工具或库可以帮助你很多。
试想你在编辑器中花了多少时间,无论是一个完全成熟的IDE或只是一个语法高亮的文本编辑器。
此外,你应该决定它的价值是否使用特定库工作或没有。 是否值得使用PHP框架? 优缺点都有什么? 是否使用笨重的CMS一个项目成功了吗?
这些都是你应该考虑的甚至编写一行代码前的问题。
如何留在轨道
战胜怠惰
不断地冲击了代码在一个看似永无止境的周期可以是烦人。 谁在这个行业足够长的时间在他们职业生涯的某个点大多数开发商经历倦怠。
倦怠与工作时间长,什么叫做关联冒名顶替综合征 ,这意味着开发人员不断认为他不够好,为了更好,他需要更加努力的工作更多,而更多的并不一定意味着更好。
这样做的最好的药是只一步,拿到周期出去做其他的东西,有创意的东西。 请假,哪怕它只是一两天。
另一种解决方案,在战斗倦怠越来越受欢迎,就是找一个团队成员有可以做的结对编程。 与其他人的社会交往是非常有效的。
代码维护
停留在轨道也意味着保持一个干净的代码库。 不只是为别人,而是为自己,太。 没有测试或文档代码就像俄罗斯轮盘赌。
当你需要重新审视一些功能在几个月在路上会发生什么? 你会花更多的时间弄清楚你实际上在做什么比任务本身。
我见过接近开发商重构他们的项目无数次的客户,因为以前的球队失去了兴趣或不能工作就可以了,而且几乎所有的时间,新球队的回应是,它必须从头开始重写。
这是因为以前的团队不能够保持清洁,可靠的代码基础。 这种做法需要花费大量的时间; 阅读文章称为18点关键的疏漏在Web开发这倒是如何保持代码简洁和其他最佳实践。
在估计
估计是许多程序员和管理人员敏感的问题,他们不应该。 我敢肯定,每个人都听说那里的经理要求开发商一个任务将花费多少时间的情况下,他们希望明确的答案,但估计仍然任务占用了双层,最初估计的时间。
大多数人没有意识到的是,估计只是猜测,而不是承诺。 要成为一个更好的开发者,你应该知道,估计是永远的承诺 ,因为一旦你提交自己的东西,它意味着你交付它负责。
估计从来不是,也永远不会是承诺,这是一个估计的性质。 人们在可怕的估计时间对于一个给定的任务 ,如果你的经理问这个,你应该告诉他,你不能承诺你自己的东西,你是不是100%的你肯定能按时做。
你可以,但是,做一个猜测,但没有做出任何承诺。
如何成为一个主
通讯
这是所有关于通信。 我见过的项目和企业土崩瓦解,因为团队成员无法沟通。
保持沟通简单直接,切出你和接收器之间的中间人。 在通信线路的每个“节点”创建几乎指数并发症。
从这个有很多企业发生 - 这就是为什么它的移动很慢,每一个决策都必须经过十几人,而这正是敏捷团队大放异彩。
保持沟通简单,简洁意味着你可以比别人更快地移动,可以更清楚地了解你的任务,这给你一个优势,所以不要害怕问及问的具体问题。
合作
除了是一个好的沟通者,你还需要是一个很好的合作者 ,让我们面对现实吧,程序员都不是最社交的人在那里。
您需要合作,而不仅仅是与其他开发者,也与你的经理,并可能直接与客户端。
合作还意味着知道岌岌可危什么,并把工作做好,并是一个很好的团队球员。
如果你觉得很难与他人有效合作,尝试结对编程 。 结对编程的精髓是合作。
另请参见这篇文章与其他人的代码工作。
知识的诅咒
根据维基百科:“知识的诅咒是一种认知偏差是导致更明智的人能够找到它很难想想从较小的知情方的角度看问题。”
基本上,高级开发人员正处于一个很难解释的问题这么简单,初级开发人员也能理解。 这是因为他们都非常熟悉的问题和手头的技术来解决它,但是当他们试图解释给别人,他们失败了,因为这种解释只是在他们头上的知识的总结。
简而言之,当你知道的东西,它很难不知道它。 为了打击这一点,你需要使用特定的语言。 解释这些细节的问题,你觉得很可笑,甚至,但继续做下去,因为你的心态不等于收件人的心态。
了解你的场
如果你把自己在编程方面的专家,那么在编程方面的专家。 知道从上到下你的领域,不要害怕说不多次,你认为合适。
为了这个过于简单化,作为一个专家是怎么一回事说不给别人,因为这意味着你捍卫你的真相,并让您的同行之间的资历,你可能是正确的大部分时间。
了解你的领域并不一定意味着你有一个CS的程度,就意味着你有很多的,你做什么的经验和做法。 你需要提高自己的技能不只是一般的节目,但在计算机工程和建筑。
作为一名专家意味着你能找到最好的规划设计问题,编写代码是这样的“副作用”。
了解你所在的企业
没有人可以在不知道企业,他们正在试图用您的代码来解决什么问题创造良好的软件。
你需要积极主动,感兴趣的业务,因为这反映到你的工作。 如果没有明确的目标和具体问题的代码会在不经意间成为一个烂摊子,这是怎样的编码工作。
你需要保持一个严格控制哪些功能来实现,特别是如何,但是这方面的商业价值得一清二楚。
如果你觉得你的专业知识和业务的目标并不一致非常好,然后做自己一个忙,不接受这份工作。 珍惜你的时间,因为这是无价的。
代码katas
为了不断提高自己,首先你必须知道在什么水平你。
代码katas是练习程序员通过实践,并找到针对不同的问题更好的解决方案,以提高他们的技能。
您可以尝试在解决代码katas 项目欧拉 , CodeKata或TopCoder公司 。
TopCoder公司甚至提供奖品为找到自己的编程挑战的最佳解决方案。
结论
编程是比什么都重要的社交技能。 要成为一个优秀的程序员,首先你必须在你的个性,如果你发现自己性格内向工作。 然后,掌握编程原理。
你需要不断完善自己,不断地学习,要在比赛之前的一个步骤。 要真正实现职业化,你需要了解业务和你想与您的代码来解决这个问题。
代码只是整个解决问题的副产物,它增加了很少的大图片。 对于解决方案的思路,技巧协作和你需要使用到解决问题的工具的掌握是关键,成为受人尊敬的职业。
欲了解更多关于成为一名专业的,看到这个系列 ,如果您有任何你想添加到这个列表中,请让我们知道在下面的意见。