前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >解读施帝芬.密斯考特的2021年10大编码原则

解读施帝芬.密斯考特的2021年10大编码原则

作者头像
老九君
发布于 2021-05-31 08:32:52
发布于 2021-05-31 08:32:52
3580
举报
文章被收录于专栏:老九学堂老九学堂
前言

StudioWeb.com网站发起人、1995年入行的骨灰级程序和教育家施帝芬.密斯考特(Stefan Mischook)

在2021年初谈起了一个话题:2021年排名前10的编码原则!这是我的参考翻译,原文是《Stef's Top 10 Rules of Code in 2021 ... Game Changer!》

参见YouTube网站截图如下

我们老九学堂认为这个“歪果大叔”说得非常务实、接地气,他说出了我们的老九学堂的心音。因此,我们想借着对施帝芬.密斯考特“2021年10大编码原则”的理解和解读,在这里分享给广大粉丝,希望给我们的粉丝在2021年带来元气满满的信心,以及找到在IT业发展的方向。

原则1

我们参考翻译一下:第一条.编程语言没有好坏之分。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

在当今时代的IT行业发展很快,编程语言种类繁多。下面我们给TIOBE网站的2021年3月份的编程语言排行

在TIOBE网站随便一搜就有50种当今最流行的编程语言,虽然TIOBE给这些编程语言排了名,但是它们真的好坏之分吗?答案肯定是否定的。

因为没有哪一种编程语言可以解决所有的实际问题,其实为了这个理想:使用一种编程语言解决所有的编程问题,Java曾经为了个努力25年也没有成功,当然C/C++更做不到。现在非常流行Python也做不到,我们只要看一下Python开发招聘岗位就知道了,Java是最多的岗位,其次是JavaScript为体系的前端岗位,第三名是C++系列的岗位。

可能有的童鞋要说了,那么Php呢?算了吧,Php和C#差不多,曾经的第一,现在已经日落西山无人顾啦。但是,说不定哪天Php或者 C#,或者Object-c等这些语言又重新冲上了Top 1的位置呢。这个现象说明了一个事实:编程语言无好坏之分!只有热门或者是不热门之分。

比如,我们老九学堂就非常看好现在排名41位的TypeScript编程语言!原因就是20年IT从业经验,从来都是能够紧跟IT发展趋势。

原则2

我们参考翻译一下:第二条. 写代码的速度比调试运行的时间多。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

当今的计算机机硬件设备和软件IDE都非常强大,我们现在写代码的时间再也不像过去的编程环境那样缓慢,即使我们使用Python这种脚本来开发,它的调试和运行速度也不比Java慢多少,包括在我们使用Php来开发大型复杂应用时.

现代的硬件环境开发环境和IDE都可以帮助我们高效地、快速地编写代码,然后快速调试运行,在我们开发环境中运行和调试的速度都不比使用Java或者C++编写的程序慢多少.

因此,在2021年的应用开发中,我们应尽量选择开发速度快速的编程语言来满足用户应用程序的功能要求,提高我们的综合项目开发效率。

原则3

我们参考翻译一下:第三条.专精一门编程语言打牢编程基础。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

因为现在常用的编程语言是非常稳定的,参见下图所示:

常年霸占编程排行前10的语言也就这6种:

  • Java
  • C++
  • Python
  • JavaScript
  • Php
  • C#

并且这些编程语言还要一直不断演变,功能越来越强大和稳定。所以,Stef建议学习程序时不需要把所有50种编程语言都学习一遍,我们在这6种语言中选一门来专精学习,打好基础为我们未来触类旁通学习其它的语言作好准备。

否则结果就是,我们好像什么都会一点,但是每一样都不精通。这样的程序员在这个行业走起来很困难,同时,也会在这个行业的发展中被逐渐淘汰掉的。

我们老九学堂的CTO的亲身经历就这样:从专精Java编程10年的EPR应用开发,然后转行做C++手机游戏编程开发,到现在最时髦的基于Node.js平台的JavaScript/TypeScript的全栈应用开发。

他从Java开发到其它编程语言的开发,每一次转身都是非常的轻松、华丽,并且现在一直在IT行业中过得轻松、惬意。新技术对于他来说是如此简单,可以快速上手开发。

原则4

我们参考翻译一下:第四条.不要抱着学习心态写项目。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

所谓“Tutorial Hell”是指我们写项目心态是抱着了解和学习的心态来写项目,是写给自己,而不抱着给用户写项目的心态来写项目!每一个在写项目从不考虑用户的需求的程序,他永远不可能成为一个真正厉害的程序员,最多就是一个“码农”而已。

我们老九学堂因为深知这个真谛,所以在线下训练营的教学中把为用户写程序的理念,一直贯穿在整个教学过程当中的。

原则5

我们参考翻译一下:第五条.养成代码重构的习惯。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

什么是代码重构?简单地讲就是,我们写完一遍功能代码之后,需要再次优化写过的代码,然后再次不断优化写过的代码,并且一直循环下去,这个过程就是代码重构,并且它是真正程序员必备的素养!

这个原则可能对于大多数据的学生来说可能是很难理解的,因为一般都会这样认为:我都使用洪荒之力写了,还要让我重新不断的优化?这是不能接受的要求。

但是,如果我们想成为优秀的程序员,这个是必须的职业素养。我们老九学堂也深知这个职业素养的重要性,所以在线下训练营的授课过程中,把这种理念一直贯穿在整个教学过程。

原则6

我们参考翻译一下:第六条.掌握设计模式在开发中的应用。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

在上世纪90年代的IT业发生了两个重大事件:一个是1995年Java编程语言诞生,另外一个是1994年由“四人帮”(GoF)发布《Design Patterns:Elements of Resulable Object-Oriented Software》一书问世。

从此,设计模式的概念正式进入到软件行业,并且一致蓬勃发展到今!我们这里不深入讲解设计模式的概念,简单地说,我们可以把设计模式理解为:经验的总结。它可以反复用来解决软件开发中的问题。

并且,设计模式思想也是现代程序员必须学习和掌握的知识。真正的资深的程序员是能够正确的使用设计模式来解决自己的实际开发问题,比如设计模式在各种框架技术中被广泛使用,以至于我们日常代码都是被众多设计模式给限定的。

暂且不说软件设计模式如何能够让我们写出高度重用性的代码,如何能够构建高维护性的项目等,就拿现在我们应届生去任何一家IT公司面试,如果不能说几个设计模式在实际开中发动作,那肯定是过不了面试关的!

老九学堂在线下训练营,会带领大家阅读MyBaits源代码、Spring框架源代码,这样可以快速提高学生对设计模式的理解。

原则7

我们参考翻译一下:第七条.掌握使用多种语言进行混编的能力。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

学习编程语言除了要根据自己喜好来学习之外,最重要的是在实际开发中,要根据实际的项目复杂度、工期要求等来进行技术选型。而复杂项目的技术选型是很复杂的,并且使用的编程语言肯定会是多样性的,因此,这就要求我们在实际开发中必须掌握使用多种语言进行混编的能力。

打个比方,在微服应用开发中,我们微服客户端如果是手机,那么一般会使用微信小程序编写界面,外加一个使用需要跨双端(Android和iOS)APP应用程序,该APP应用程序一般可能使用HTML5技术来实现,或者使用uni-app技术来实现。

这里会涉及Android原生开发和iOS的Object-C或者Swift的原生开发,而后端的微服技术使用的技术就很多,一般会涉及Java、Php、Node.js、C++等等技术来实现微服后端应用程序,并且还要反它们整个在一起使用。

因此,真正的程序员必须在实际的开发中掌握使用多种语言进行混合编程的能力。我们老九学堂线下Java全栈训练营提供了这种能力的训练。

原则8

我们参考翻译一下:第八条.掌握与他人沟通能力。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

外界人士总是会误解我们程序员这个职责,一般都戏称我们程序员为“程序猿”,意思就是程序员就像猿人一样不会说话表达,只会吼叫、拍胸口似的。甚至有的同学因为自己不喜欢说话,所以他就去学编程,就是因为他觉得程序员就是不说话的行业。

但是,实际上这个根本就是一个笑话!如果我们程序员不具备与沟通的能力,相信第一次面试就不可能过关。这个和考研的一样,很多人是因为面试未通过才考研失败的。

另外,真正厉害的程序员不仅技术非常厉害,他们与客户和其他人员沟通的能力都是很强的。这样程序员才具备可以快速帮助用户解决问题的能力,并且会受到我们客户和其他同事、领导的喜爱,从而让我们自己的职业生涯过得非常顺利、开心。

原则9

我们参考翻译一下:第九条.掌握尽可能使用框架开发的能力。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

真正的程序员,他们的天性都是喜欢书写代码的人,并且从心里以自己书写代码为乐的人。比如数据结构和算法,这些在软件开发中都是涉及的。

像什么单向链表、双向链表、栈、队列这些数据结构,在我们学习时一定要求自己来书写并实现这些算法,并且在面试C++开发岗位时,通常要都笔记和机试算法代码实现,以考查应聘者对数据结构和算法的掌握能力。

但是,我们在实际开发中,一般是不会使用自己的算法来实现某些功能,而是采用别人框架来实现算法功能,比如Java中的LinkedList类实现链表功能,而不需要自己实现链表算法。

比如,我们使用标准C++库中的sort函数来实现排序,而不需要自己另外手写一个快速排序算法的函数来解决问题。为什么?因为这些Java工具类和标准C++库函数都是经过长期的使用,在实际开中已经验证了它们的正确性和可靠性。

所以,我们在实际开发中就是要直接拿这些标准类和工具函数来用,从而加快开发效率,减少代码出错率,降低了项目开发成本。

一句话,真正程序员是具有产品思维和项目管理思维的程序员,并不是一般人认为程序员就只是敲代码的人。我们老九学堂的线上Java训练营教授大家当今流行的各种前端框架,比如jQuery、Bootstrap、Vue.js、Element UI、React.js等框架技术,后端Spring Boot、SSM、Spring Cloud微服等框架技术,帮助用户快速就业。

原则10

我们参考翻译一下:第十条.不要妄想自己成为超人。请大家不要把这个翻译当成标准,不足之处,请大家指正、补充。

解读

可能我们大家都知道这样一句话描述中国人:一个人是一条龙,一群人是一条虫。我们提这句话不是想贬低咱们自己,而想说明一个现象:中国人是全世界都公认最勤劳的人民族,每个人的潜意识都是希望自己能够搞定一切的优秀民族啊!

但是,实际上在复杂应用程序开发中,一个人是搞不定的啊。如果真能一个搞定,那么就不会有这么IT公司存在了,对吧?老板一个人就自己搞定一切三。

同样,在实际项目开发中,我们程序员要学会与其他分工合作,不要想着当超人:什么都在写,以显示自己比别人牛逼。结果就是,三个人的开发小组,不还是一个来写的效率高。

所以,最后请牢记:就算我们已经成为了真正很牛逼的程序员,必须要会切分功能,合理分配项目成员分工,从而让一个三人项目发挥出五个的功效来,而不是只一个人的功效。

作者:技术大黍 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

<END>

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老九学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java游戏编程不完全详解-1
1991年,我第一次在DOS操作系统下玩“F-117A Stealth Fighter 2.0 ”游戏,这是一款像素级的模拟器游戏。
老九君
2021/08/27
8280
Java游戏编程不完全详解-1
Java会被新兴语言取代吗?
蚌住了!今天被一位初学编程的小伙伴询问:学习JAVA能够干什么? 一时间竟不知从何答起。 近些年的技术圈,单以计算机语言界来说,稳坐第一把太师椅的Java“或将被取代”、迎接转折点、Java项目工程师
老九君
2022/05/25
7780
Java会被新兴语言取代吗?
JavaScript面向对象编程-第三版不完全系统解读
关于JavaScript的百度说法,我们这里就不贴出来了,因为太多了,也找不到标准。烦请大家自行参考,方便自己理解。我们这里只给针对专业权威书籍《Object-Oriented JavaScript, 3rd Edition》(“JavaScript面向对象编程第三版“--这是本人参考翻译)的解读,希望可以帮助大家深入理解现代的JavaScript编程语言的最大强功能--面向对象编程。书中这样描述:
老九君
2021/05/31
5190
面向对象的基本原则 -- 序章:为什么这些原则如此重要
在开始每周讲一个具体的原则前,本周笔者希望写一篇序章,解释下为什么笔者认为这些基本的原则才是最基本的,同时也是最重要的
御剑
2021/06/21
3740
【干货】学习编程的正确打开方式!
这个问题是老九君最近几年来最关注的点。老九君觉得网上提及的许多方法尽管都很不错,然而老九君却注意到,成功的童鞋,无论使用哪种方法,往往都会在以下三个方面,比其他人有着更好的表现: 1.聚焦习惯而不是目标; 2.独自学习非常痛苦; 3.项目实践; 聚焦习惯而不是目标 聚焦习惯而不是目标听起来似乎不合常理,但是请听老九君把话说完 – 这是一个有关平衡的问题。凡是和老九君共过事的人都知道,老九君有时就像傻子(快成傻子了)一样,在一天内,引用《蝙蝠侠:侠影之谜》中 Ra’s Al Ghul 的话多达 3-4 次。(
老九君
2018/03/01
7920
【干货】学习编程的正确打开方式!
如何成为一个牛逼的C/C++程序员?
这个题目的噱头太大,要真的写起来, 足够写一本书了。 老九君分享一些经验,希望能让初学的小伙伴少走弯路。 每个人的情况不一样,所以下面的描述可能并不适合每一个看到这篇文章的人。 一、C/C++语言 如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进。C语言的书可以先买一本 C primer plus,把书中的一些例子都通过键盘敲到编译工具里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后, 你就
老九君
2018/03/06
9150
如何成为一个牛逼的C/C++程序员?
初学者如何高效率的掌握一门编程语言
学习作为一种获取知识交流情感的方式,已经慢慢的成为人们日常生活当中不可缺少的一项内容。
老九君
2020/07/02
7560
编程真经:20年老程序员告诉你的20条编码原则
本文作者是一位有着 20 年编程生涯的骨灰级程序员,从 Basic、C 到 Java、JavaScript,从码农到研究员到 CTO,他一直活跃在编程的第一线。本文是他 20 年职业生涯总结下来的编程原则。
猿哥
2020/03/26
5210
编程真经:20年老程序员告诉你的20条编码原则
为什么要选择Python语言实现机器学习算法
点击上方 “蓝色字” 可关注我们! 我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。 可执行伪代码 Python具有清晰的语法结构,大家也把它称作可执行伪代码(executable pseudo-code)。默认安装的Python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。此外,读者还可以
小莹莹
2018/04/20
1K0
6 月编程语言排行榜:Python 飙升,有望挑战 Java 和 C?
排名前三变成了 Java、C、Python,C++ 掉到第四,第五为 VB .NET。
老九君
2019/07/05
4180
6 月编程语言排行榜:Python 飙升,有望挑战 Java 和 C?
【投票】谁是你心中的老九至尊雕神??
其原理为:读取图片的每个像素点的值,并由此转化得到灰度值,然后以不同的灰度值匹配不同的字符,最终得到字符画的效果。
老九君
2019/05/15
6900
【书单】世界顶级程序员推荐,C/C++从入门到进阶
编程是操作性很强的一门知识,看书少不了,但只有理论与实践相结合才能起到更好的效果。
老九君
2020/04/08
1.3K0
【书单】世界顶级程序员推荐,C/C++从入门到进阶
12月编程语言排行榜:Java第一,Python夺回前三!
随着2018 年最后一个月的到来,看着一年编程语言的起起伏伏。日前, TIOBE 公布了 12 月编程语言排行榜,前五名依次是:Java、C、Python、C++ 和 Visual Basic.NET。
老九君
2018/12/27
4140
12月编程语言排行榜:Java第一,Python夺回前三!
代码设计原则
设计模式是针对软件开发过程中遇到的一些设计问题,总结出来的一套解决方案或者设计思路。
王小明_HIT
2021/07/05
1.4K0
速看!2020年5月全国程序员工资最新发布
据悉,2020年5月全国招收程序员312761人。2020年5月全国程序员平均工资14542元,工资中位数12500 元,其中95%的人的工资介于5250元到35000元。
老九君
2020/05/26
7310
趋势预测:2021年五大流行的编程语言
如果没有编程语言,现在的世界就不会存在。想象一下没有电脑、数字技术和互联网的生活,没有Instagram和TikTok。这会让我们的生活举步维艰,而且并不是不可能发生。
陈哥聊测试
2021/01/27
7160
趋势预测:2021年五大流行的编程语言
2018年11月TIOBE编程语言排行榜,Java仍然占据排行榜第一
每月的编程语言一出,我们都会发现,Java总是稳稳的占据榜首,JAVA不可撼动的江湖地位,让我们对于Java的学习更加有信心,对于Java未来的发展充满着无限的期待。
老九君
2018/12/12
6530
2018年11月TIOBE编程语言排行榜,Java仍然占据排行榜第一
2020年3月TIOBE编程语言排行榜来了!
TIOBE公布了3月份编程语言排行榜。相比上个月编程语言Top 5并没有太大的变化,其中Java依旧稳坐榜首,随后分别是C、Python、C++、C#。
老九君
2020/03/13
6150
这可能是最全的编程入门指南
为何要学编程 乔布斯说,「每个人都应该学习编程,因为它教会你思考的方式」。 我们学习编程,是不一定要成为程序员的。就像每个人都应该学习法律,但不是都要成为律师;就像每个人都应该学习经济学,但不是必须成
老九君
2018/03/06
1K0
这可能是最全的编程入门指南
给所有初学编程的人的干货
现在IT新技术日新月异。就常用编程语言而言,有c/c++、汇编、java,c#、Python等; 操作系统平台有unix /linux,windows系列; 开发工具有VC、visualStudio2008、 Eclipse、NetBeans等; 每个大平台下,还有很多的的方向:如网络、数据库、脚本、HTML、动态网站、游戏开发等;有人还在学Dreamweaver做网页、Flash做动画、Photoshop做美 工、3DMax做三维动画…………是的,我们什么都想学。恨不得把所有的知识统统都塞到肚子里去。看到
老九君
2018/03/06
9410
给所有初学编程的人的干货
推荐阅读
相关推荐
Java游戏编程不完全详解-1
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档