提高编码技能成为更好的开发者的十个提示

许多Java开发人员问我如何成为一个更好的程序员,如何提高我的编程技能,或者我擅长Java但在解决问题的技能上不那么好等等。这是现实,今天的时代充满了语言专家而不是真正的程序员。

它易于理解Java编程语言的关键字,方法和API,但同时难以解决实际问题,设计可重用且可靠的软件并获得最佳的数据结构和算法。

我经常看到Java程序员在被要求在有限的时间内设计和编写解决方案时表现不佳,但同时他们对Java概念和所有理论都很好。即使是具有4到6年Java编程经验的高级程序员,有时也无法解决设计等问题 即使是具有4到6年Java编程经验的高级程序员,有时也无法解决诸如设计咖啡机,编码自动售货机或有时甚至以递归方式反转链表的问题。

我可能只是想成为一名更好的程序员,但重要的是要了解你的局限性,然后再努力解决这些问题。 如果您感觉编码有阻力,那么您应该尽可能地编码,如果您在使用面向对象的分析和设计进行设计时感到压力和迷失,那么您应该尽可能地使用笔和纸进行设计。这种阻力实际上阻止你成为一名更好的程序员。

我个人发现编码和设计对普通程序员提出了很大的阻力,因为他们大多数在专业工作中都没有做足够的编码和开发。 顺便说一下,有很多提示可以成为一个更好的程序员,我会坚持我的清单,我个人遵循,并不断帮助我。

为了成为更好的程序员,您需要非常擅长数据结构,算法,使用OOPS设计,多线程和各种编程概念,例如:递归,分而治之,原型设计和单元测试。

编程是许多技能的结合,这意味着它不可能在快速时间内学习,而是随着时间和经验而来,但这不会自动发生。 你可以花5年的时间从​​事Java编程工作,而不是一个优秀的程序员。从大多数Java开始,访谈都集中在理论而不是编程和编码技巧上。 没有多少程序员练习这些基本的编程技巧。如果有一个强制性的解决问题的编程测试,我敢打赌,普通的程序员会好得多。无论如何,这是我的清单,可以帮助您成为一名优秀的程序员。

1)编码,编码和编码
为什么我编码在此清单的顶部?因为它很难同时也是它的核心编程。

通过编码,您还可以实现设计,错误处理,线程中的错误,然后再回到相应的技能来改进。你只是不能只进行设计,编码产生输出,这对学习和行动很重要。 顺便说一下,在解决问题后不要停止,最好扔掉你的第一个解决方案,这只是一个原型,你的下一个解决方案应该解决问题,缺少你已经找到的构建原型的要求。 您还可以查看代码《整洁之道》:为人类编写代码,以了解有关编写生产质量代码的更多信息。

2)阅读书籍
编码说起来容易做起来难,好的代码和糟糕的代码之间存在巨大差异,但你怎么知道呢?在你看到一个好的代码并知道为什么特定代码是好的之前,你无法理解其中的差异。 这是书籍提供帮助的地方,作者往往是伟大的程序员。他们以书的形式提供他们的经验。我喜欢书籍,但是一本特别对我有帮助的书是鲍勃叔叔的代码整洁之道。 通过阅读本书,我发现自己在代码中发现了问题并且时不时地应用本书中给出的建议。

我的建议是,如果你找到这样的书,抓住它们。我还建议多次阅读这本经典书籍,并不时地推荐它们。 另一本类似的书是Joshua Bloch的Effective Java,它充满了很好的建议。 。此外,通过阅读书籍,您正在从别人的经验中学习,并且只有两种方法可以通过学习自己的经验(非常有限)或从他人的经验中学习(无限制)来提高自己。 记住更多并不总是好,而不是阅读5本书,我建议阅读两本书,你喜欢多次阅读。这两本书也来自我的Java程序员必读书籍清单

3)贡献开源,注册邮件列表

贡献开源代码,特别是来自Apache,Google和其他一些项目,是提高编程技能和成为更好的程序员的另一种方法。只需签署他们的邮件列表和以下讨论教你很多。 由于大多数讨论发生在优秀程序员之间,通过倾听他们并理解问题及其方法,解决方案和视图,自动为您开发良好的编程习惯。 要获得大部分内容,不要只是坐视不管,提出问题,提供观点,同时也要重视其他人。

4)练习数据结构

算法和设计相关问题 我想把它作为第二项,但它最终排在第四位。在我看来,这是成为更好的程序员最关键的事情。我见过和见过的大多数优秀的程序员都非常擅长数据结构,算法和基础知识。 通过学习这些东西,您可以更好地利用可用的东西。由于数据结构是任何程序的关键部分,因此对它们的扎实了解有助于解决问题。 同样,关键编程原理,搜索和排序算法以及其他众所周知的算法的知识也会为您提供编程技能。 您可以参考这些书籍来提高您对数据结构和算法的了解。

5)阅读好博客

阅读好的博客只是阅读书籍的一小部分。阅读博客如何帮助您成为更好的程序员?嗯,确实如此。由于博客通常由程序员自己编写,并且大多数人都分享他们的个人观点,经验,因此您经常发现它们是相关的。 此外,博客是一小部分信息,因此它可以很好地消化。博客还有助于学习现有语言和API的新技术和新功能。 很多时候,我在一篇小博客文章中描述了Java中一个非常着名的部分,看到了一些微妙或遗漏的东西。

6)阅读代码

如果阅读博客有助于成为一名优秀的程序员,那么阅读代码可以提供更多帮助,但同时阅读博客很容易,但阅读代码很难。你看到抵抗吗?那你应该这样做。查看开源项目代码,您的程序员代码,现有专有代码,Java SDK代码,并尝试了解它们的工作原理,尝试了解它们正在做什么以及它们为什么这样做。 找到模式,开发导航技巧,最初你会发现它很无聊和困难,但随着时间的推移你会发展出良好的代码感,当你犯错时会提醒你,帮助你发现别人的错误,差距和代码味道。 这段代码感觉是更好的程序员的标志之一,他们往往倾向于看,你错过了什么。

7)写单元测试

单元测试补充思考和编码过程,随后帮助您更好地设计。任何难以测试的东西都有可能改进。此外,编写单元测试有助于找到更好的名称,更好的抽象,更好的界面和抽象类设计,并整体提高代码质量。 但是就像编码和设计一样,单元测试对普通程序员来说也是一项艰巨的任务,你会看到很多阻力。一些程序员编写琐碎的测试,而不是在使用场景上苦苦思索。 请记住,在分析,设计和开发之后,通过整个过程无法替代思考,单元测试是另一个思考代码中的场景和差距的机会。做一个规则,总是为你的代码编写单元测试。

8)进行代码审查

与单元测试一样,代码审查是另一个有助于成为一名优秀的程序员的事情。代码审查有助于审稿人和作者,审稿人提高他的代码意识,并在作者从错误中学习时提供真实的建议。 它通常有助于您认为代码坚如磐石,有一些只有其他程序员可以看到的错误,代码审查和四眼检查为您做到这一点。 如果你很幸运并且有机会在一家拥有单元测试,代码审查作为纪律的公司工作,那么你可能会成为更好的程序员相比那些看起来经常放松要求的程序员。这两件事极大地有助于提高编程技巧。

9)与其他程序员交谈

与谈话相比,阅读是被动事件。谈论一个程序并与其他程序员讨论这个程序往往会带来更好的解决方案,这很自然,因为当你说话和倾听其他人时,你的思维往往会涉及更多。 然后我在与队友讨论时发现了差距,缺少要求,错误和设计缺陷。在软件行业,程序员倾向于将它们与计算机隔离,谈话,分享和进行白板会话有很大帮助。 不要只是坐下来编写,交谈,倾听和思考,并与其他程序员一起玩。参加此次活动也有所帮助。

10)参与Stack Overflow和论坛 评论博客

这是另一种形式的活动,有助于修改知识。通过分享知识,第一个受益者是分享者。由于编程很大且很大,你往往会忘记大多数你不使用超过3个月的东西。 参与StackOverflow并回答其他人的查询,评论博客和论坛是修改知识的一个很好的方法,同时纠正你的错误观念。 通过将我们的知识放在他人面前,我们不仅可以帮助他人,还可以对他们进行测试。很多时候你会看到,有人从你的知识中受益,但你也纠正了你的错误观念。

每个程序员都希望成为一个更好的程序员,但不是每个人都成功。除了编程和解决问题的天赋外,它还需要大量的努力,不断的学习和坚持才能成为更好的程序员。你做的工作越多,例如编码,设计,单元测试和代码审查,您将变得更好。如果你现在只想做一件事,我会说去看看《代码整洁之道》

原文链接:https://javarevisited.blogspot.com/2014/01/10-tips-to-improve-programming-skill-become-better-programmer.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值