毕业季:初入职场,资深程序员教你如何成为优秀的程序员?
又是一年毕业季,每每到这个时候小编就会感慨时间过得真快,不知不觉我已经变成当初我刚毕业那会眼中的一群“老前辈”了。那我这个“老前辈”就来跟大家聊聊我是如何从一个刚毕业的萌新进阶到如今的“老前辈”吧。
如何成为优秀的,这个问题我也曾经问过我自己,可惜我做的还不够好,经常这么反问自己的话,会提升你对开发流程工艺思考,同时没事也可以问问身边的是程序员的同事,我相信你们会引发少量有趣的探讨,但是我个人认为掌握下面五个技能非常重要,看看吧,为了我们都成为优秀的程序员。
1,问题分解
编程很大程度上是来处理问题,但是写代码之前,需要弄清楚如何处理这些问题。一个优秀的程序员会尝试把这些问题进行拆分,而后一部分一部分去开发,直到每个部分都可以很容易的处理。但是仅仅做到这些还不够,一个优秀的程序员会发明一种工作模式,利用现有的标准化逻辑去开发,便于实现和测试。少量很复杂的程序,复杂部分的起因是代码实施不能完美的处理问题,而且代码难以了解。
当遇到难题建模,曾经采访优秀的开发者:“很少有程序是不能修改的,但是假如你看一段代码,它往往看起来很复杂,很多人觉得无从下手,他们往往这是缺乏思考的一种体现,而我会卷起袖子试图修复它,慢慢的其实这些都不算困难,而且很容易。”
2,情景分析
好的开发人员有能力考虑许多不同的场景。这既适用于程序中的逻辑,以及内部和外部事件可能发生。考虑不同的路径的逻辑,他们会问这样的问题:假如这个论点是零?假如这些条件是真的吗?这是线程安全的方法吗?发现软件需要解决什么类型的事件,他们会问这样的问题:假如这个队列变得满了吗?假如没有响应这个请求吗?假如其余服务器重启,这个服务器重新启动吗?
优秀的程序员会问自己:“这怎样能算结束呢?”说明他们还想测试自己的能力,相比之下,没有经验的程序员大多只考虑自己,能够暂时处理问题就行,当然大部分不可避免的意外情况发生,他们都有方法处理。
3,所示命名
编程在很大程度上由命名的事情:类、方法和变量。假如做得好,程序变得很大程度上是在自我记录,这意味着程序的功能是非常清楚的执行源代码。自我记录的代码的一个作用是,它自然会导致许多较小的差错,而不是几个很大的功能缺陷,由于这些优秀的代码将存在很多的地方。
想出好名字要困难得多。我喜欢一句话:“计算机科学中只有两个艰难的事:缓存失效和命名的东西。“部分命名是很困难的,由于它需要清晰的在脑海中每个名字代表什么。有时这是不清楚,但随着开发的进行才会显现。因而,重命名命名一样重要。”
命名的东西也还包括提出的概念,以及这些概念应该叫什么。通过考虑周全,显著命名概念一致地使用,编写的程序才会变得更容易。
4,所示一致性
也许在编程的最大挑战是管理的复杂性。一致性是一种战斗的复杂性。它减少了少量复杂性,允许我们看到模式和推断出如何命名,使用和解决。与一致性,我们不需要用脑力来记住异常和随机变化。相反,我们可以专注于重要的复杂性,而不是偶发复杂性。
一致性是很重要的。它适用于变量名和分组,命名方法,划分成板块,目录结构,GUI,错误解决,日志记录、文档等。例如,假如某些变量是相关的和一起出现(在公告,方法调用或者列在数据库中)而后总是使用相同的顺序。而后它变得更容易看到假如丢失,或者者假如他们一直搞混了。对于一个操作,假如是calleddelete在一个地方,别叫它删除在另一个地方——坚持相同的名称。Steve McConnell也有少量好的建议在代码中使用准确对立完成。例如,开始/结束对立,启动/中止。不要混合名称从不同的双(例如使用开始/中止)在解决相反。
矛盾可以详情当修改程序。草率的程序员往往不注意假如他们增加能否符合现有的代码。优秀的程序员在确保看似无情的小细节是正确的,他们知道如何重要的一致性是整体对抗的复杂性。
5,学习
作为一个软件开发人员,你需要不断的学习。增加一个新特性之前,你必需了解它应该做什么。将代码增加到现有的一个项目之前,通常你需要学习什么现有代码,为了适应新的功能正常。你也必需理解附近的系统,为了正确的界面。因而,学习能力快让你更有效的成为开发人员。
此外,因为在软件工程领域的发展速度是如此之高,有源源不断的新语言,工具,技术和框架的理解。你可以认为这是好还是坏。弗雷德布鲁克斯列出了学习的乐趣之一的将技能变成工艺,这一点我同意。学习新事物本身是令人兴奋的。这也意味着生活中作为一个开发人员不会很无聊。
结论
所有上面的技能是通用的,没有一个特定于任何一种语言,框架或者技术。假如你有,你可以快速学习一门新语言或者者工具,并编写好的软件环境。此外,由于他们在本质上是通用的,由于语言永远不会灭亡,这些便是我的少量建议如何成为一名优秀的程序员。
那么你想成为一个优秀的程序员嘛?
我自己是一名从事了10年的web前台老程序员,今年年初我花了一个月整理了一份最适合2019年学习的web前台实战以及基础教程干货,从最基础的到深入的都有整理,免费送给每一位编程小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。专注于Web前台技术学习交流零基础到项目实战,每天有直播讲解实战项目,答疑解惑,学习与快乐同在。
免费教程获取方式:加QQ群:956766604(招募中)
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 毕业季:初入职场,资深程序员教你如何成为优秀的程序员?