10个成为优秀程序员的有效方式

一个优秀的程序员在穿过单行道的时候总是会看到两条路。~Doug Linder

在IT行业中的软件工程师,驱动我们每天工作的是沉醉在程序中的乐趣和激情。但是要想使程序成为乐趣并从中得到永久的喜悦,你需要学习还要附带着使你成为一个优秀程序员所需的基础知识。

我并是在写一个成为一个优秀程序员的黄金法则,写这个真正的意图是整理一些我自己在这个行业中学到的和实现的好的结果的一些帮助提示。一个优秀的程序员没有具体的定义,但是在这我们引用一些已经在这个行业发展的很好的程序员一些经验是为了帮助这个行业中所有正在成长的程序员。

1. 致力于基础

概念的理解是成功的关键这一说法适用于任何一个行业和工作。除非你有一个很好概念基础,否则他/她都不可能成为一个优秀的程序员。核心概念的理解可以帮助你以一个最好的方式和解决方案去设计和实现你的程序。如果你仍然感到自己的核心计算机知识和你的编程语言的具体概念,现在去复习你的基础它永远都不会太迟。

2. 开始为你写的每个代码集放一个问题标签(how, what)

我可以在优秀的和业余的程序员之间划分一个明确的分界线,那就是对程序将要发生什么和是怎么样发生的激情。有一小部分人还是会写一些当程序运行时不知道准确发生什么的代码。我理解紧迫的最后期限,我们没有足够的时间,因此我们不得不写下那样的代码。尽管看起来处理这样的情况情有可原,但是作为一名程序员应该尽自己所能去专研从而达到更高的级别。相信我,这将随着时间成为一种习惯,接着你每一次将不知不觉地都那样去做。

3. 帮助别人你将学到更多

我们中大多数人都是在需要帮助时才会出现在论坛或者我们的团队。一个优秀的和业余的程序员另一个明确的区别就是前者经常去这些地方帮助其他人。通过解决别人的问题是他们学到更多的东西。在一个团队内,去帮助自己的队员解决问题。相信我,在他们的情境下去理解他们的问题,研究和提供解决方案你将比之前收获的更多。

4. 写一个简单的、容易理解的并富有逻辑的代码

如在生活方方面面一样,KISS(Keep it simple and short)公式也同样适用于程序。写富有逻辑但避免复杂的代码。有时人们写一些复杂的代码为了证明他们有能力去写这样的代码。我的经验告诉我简单且富有逻辑的代码总是工作的更好,出现较少的问题和具有更好的扩展性。我记得一个非常棒的引言---“好的代码本身就是最好的文档。当你要加注释的时候,问问你自己,我应该怎样提升代码的质量从而不需要注释了呢?”~Steve McConnell

5. 花费更多的时间去分析问题,你将需要更少的时间去解决问题

花费更多的时间来理解和分析问题并为它设计解决方案。你将会发现余下的事情是十分简单易行的。设计并不意味着总是用建模语言和工具,它可以就像看着天空一样简单并在你的脑海中思考着解决方案。按键盘(编码)的这些人在得到问题的那一刻有个习惯,通常去解决问题而不是继续编码。如果在你洗澡的时候不能想象出程序的所有结构,证明你并没有准备好去编写程序。~Richard Pattis

6. 带头去分析和回顾你的代码

尽管这有一点困难,但是尽量在其他人有能力了解你的程序之前审查你自己的程序,在这样的过程中你将学会如何去编写几乎没有缺陷的程序经常要回顾你的代码。也不要犹豫把你的代码拿给其他人看。和优秀的程序员一起工作和收到他们的建议将帮助你也成为一个优秀的程序员。

7. 不要使自己沮丧看看变化的技术世界

在IT行业的期间内,我遇到过很多人对他们的工作感到失望甚至离开了工作去寻找新的工作说他们想要学习和工作在技术前沿。我对这种渴望并没有看出任何问题,但是‘latest technologies’是一个非常不准确的词。我们每一天都会听到这有了新的工具、APIs、框架和其它的一些东西可以使程序更加容易和快速。这总是推动者技术世界的发展。但是我们要理解核心和一些基础的知识将比那些框架、工具和APIs来说很少改变。这就像大海一样,表面的水移动地非常迅速而深水在一定程度上是平静的和浓密的和大多数的水生物在这里生存。因此,体验一下在深水和接近核心知识的感觉。例如在Java企业级应用中,存在许多Web框架和每隔一周就出现新的。但是请求的核心概念就是基于客户端-服务器的交流,MVC模式,filters/servlets/JSP,资源的构建,XML解析等等技术。因此花更多的时间去学习这些核心的知识而不是担心总在改变的框架和工具。相信我,随着你对核心概念的理解,你将总是更容易的去学习新的框架、工具和APIs。

8. 变通方法不要长时间工作

软件工程师可能有许多次在这种情况下完成工作(可能由于缺乏时间,缺乏对问题的了解或者缺乏技术经验)。但是在此期间工作所得到的解决方案通常是不可靠的代码,扩展性和可维护性很差,从而浪费更多的时间。当你知道解决方案的时候总是更喜欢去实现它。我明白在一些情况下它是不可避免的,但是它就像一个通常应该说的事实但是你却在某些情况下说了谎。

9. 阅读文档

一个优秀的程序员最基本的行为就是他们读了许多的文档。它可能是规范,JSR,API文档,教程等等。阅读文档可以帮助你构建必要的基础,可以使你以一个最好的方式去编写程序。

10. 你也能从他人的代码中学到东西

我和一些非常棒的程序员互动,这些程序员实际上就是始终在我IDE上的Java源码工程,我阅读/引用它在每日的工作上。做这件事情不但满足一些基本知识的需求而其也学到了写一个优秀程序的方式。阅读和引用这些可信赖的知名的源码或者一些高级的代码,也能帮助你使你的程序更好。

最后一点,上面并没有列出的: 不要拿自己和别人比较
 

你和其他人比较的唯一结果就是消极情绪的演变和不健康的竞争。每一个有他的长处和缺点。我们了解好我们自己的优缺点并利用好是非常重要的。 我曾经看到过很多次被称作‘fundoo-programmers’ (fundamentally strong programmer) 也犯过许多低级的错误。因此,了解你自己,列出你需要提高的领域并努力吧。编程真的很有趣,享受它吧。

 

 

任何傻瓜都能写出计算机可以理解的代码。优秀的程序员写出人类可以理解的代码 ~Martin Fowler

 

 

原文链接:http://java.dzone.com/articles/10-effective-ways-become-good

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值