写标识符就能正式成为计算机科学
【CSDN 萨德基】怎样的开发者才能被真正地称作应用软件技师?没人说,如果会写标识符方可;也没人说,10x 代码者必定是一位应用软件技师;还没人说,如果熟识各种应用软件设计准则就能满足用户这一工作岗位的需求。虽说,想正式成为一个现职应用软件技师,须要奋发向上自学的热忱。
书名镜像:
https://betterprogramming.pub/writing-code-is-one-thing-learning-to-be-a-software-engineer-is-another-9d5c6fc5d6a
新闻稿:责任编辑为 CSDN 译者,转发请标明来源。
译者 | Ben The Hosk Hosking
译者者 | 彭慧中 白眉林 | 屠敏
公司出品 | CSDN(ID:CSDNnews)
以下是书名:
写标识符是一两件事,想正式成为一位应用软件技师则是另一两件事。
一旦你通过驾驶执照笔试并时常练驾车,你自然就专业委员会了驾车。而要正式成为一位娴熟的老驾驶员,更为重要须要在正常驾车的情形下防止翻车,还要掌控专业科学知识,即使这是能够辅导你在马路上可能会碰到的所有突发性情形和情景的认识论。作为一位应用软件设计者,在建立应用软件的时候就像在驾车两辆汽车,不过这比驾车要繁杂上十倍,而且会碰到三倍多的突发性情形。
开发者缔造了应用软件,同时获得专业技能、实战经验和科学知识,而应用软件设计专业技能决定了开发者如何构筑高效率的应用软件并交货应用软件工程项目。自认是开发者,搞好本职组织工作的开发组织工作和缔造这款应用软件是一两件事,但是为了提升他们的生涯,须要不断地自学应用软件设计的基本科学知识。对开发者的教育更为重要是撰写标识符。你写的标识符、掌控的控制技术专业技能并不是这份业余的良好基础,即使在未来5-10年的时间里,你将须要不同的控制技术专业技能。
很多开发者缔造了工程项目上所须要的应用软件,即使这是顾客和他们组织工作所处的公司所须要的东西,并且他们也支持了一定的薪资。而一个开发者的价值基于他们自身的专业技能、科学知识和实战经验,所以对于开发者而言,想有提升,一定须要确保他们持续自学、精进并且正式成为一个更好的应用软件设计者。理想情形下,你会同时做这两件事,尽管很难兼顾,但开发者须要确保这一点。
当你觉得作为一位开发者身处舒适圈时,那么,是时候考虑改变了!
掌控控制技术
应用软件设计是一项你永远无法完全掌控的专业技能。
在应用软件设计面前,开发者的角色是一位学生,每当你知道他们在做什么时,它就会打你的脸。优秀的开发者是谦逊的,即使应用软件设计往往会用令人尴尬的错误粉碎了他们的过度自信。
你无法防止错误、问题和灾难。因此,你须要谦虚地承认错误,并须要一个团队来帮助你发现并解决它们。
当你以开发者的身份开始时,你将专注于建立满足用户需求的标识符。我曾经认为作为一位开发者只是撰写标识符。事实上,应用软件设计还有许多其他方面,从设计、架构、单元测试到DevOps和ALM,从收集需求到阐明假设,最终还覆盖了许多最佳实践,如SOLID准则、DRY(Don’t repeat yourself)、KISS和其他。
掌控最佳实践和基本专业技能对于开发者而言,具有长期效益。但往往初级开发者并不太能理解这一点,即使他们在最初看不到自学这些的好处。基于良好的命名规则、开发易于测试的标识符,往往不是开发者写的第一版标识符,同时它不仅是满足用户组织工作中的需求,更重要的是易于阅读、理解和修改。
我曾经在处理遗留标识符时,里面有一个涉及2000行的函数方法,这个方法就像一个状态监测机器,用于控制应用程序的状态。这宛如一场噩梦,即使如果你改变了一行,它可能会破坏下面的标识符。一个更改可能会影响数百行标识符,几乎无法进行测试。一个简单的标识符更改可能须要一周的时间来完成和测试。
另一段标识符的命名很糟糕,使用了一个变量,即第13个月。读标识符的时候,我不明白第13个月是什么,我感觉它毫无意义。因此,我不得不弄明白,原来第13个月是一个变量,用来存储汽车第一年和第二年之间用于维修的数值。
积累实战经验是有价值的,即使通过处理糟糕的标识符并看到它导致的问题,它会激励你在未来不再犯这些错误。
坚实的基础
每个应用软件工程项目为独特的需求建立专属的应用软件。它建立在应用计算机科学的基本原理上。优质的开发是通过良好的作业流程、最佳实践、DevOps和标识符审查完成的。你须要确保你的最佳实践没有过时,并对更新它们持开放态度。会有新的工具、应用软件和控制技术,须要你持续更新最佳实践。
高级开发技师须要对应用软件设计过程中的每个细节都有前瞻性,并应该保持谦逊的态度,以开放的心态来及时对他们的开发流程进行更新。
基本应用计算机科学专业技能
控制技术在变化,但应用软件设计保持不变。
控制技术随着新的语言、服务、工具和最佳实践而迭代。开发者须要掌控一些基本的应用计算机科学专业技能,这些专业技能对于任何控制技术都是有用的。
命名(被低估,但这是标识符简单易读的关键)
设计标识符(设计简单,不繁杂)
设计模式
单元测试
DevOps
软专业技能
文档
开发的最佳实践
敏捷开发
修复Bug
这些核心专业技能是应用软件设计的基础。如果你不知道什么是优秀的标识符,不理解它为什么优秀,你就写不出优秀的标识符。另一方面,你须要知道什么是糟糕的标识符,这样你才能写出好标识符,并理解为什么有些标识符是糟糕的。
如果没没人辅导,或者没有意识到这些标识符会造成未来的问题,初级开发者就不会停止写低质量的标识符。坏的标识符现在能用,但在将来会产生问题。坏的标识符就像一个人犯了错。如果你不承认他们犯了错误,你就无法防止错误的发生。初级开发者不了解应用软件设计中最佳实践的意义或好处。如果你不了解一种方法的好处,你就不会使用它。
实战经验并不都是有价值的
使用已有的专业技能和科学知识做应用软件工程项目就像在跑步机上跑步一样。你付出了很多努力,却一无所获。在你已经掌控的专业技能上获得实战经验的价值有限,即使它只在你的简历上为该已有专业技能增加了更多的时间。有价值的实战经验是在新鲜的环境中自学新的科学知识和专业技能,可以带到未来的工程项目中去。
保持好奇心——尽可能多地自学
好的开发者要专业委员会理解应用软件,而更为重要是缔造应用软件。理解可以帮助你在未来建立应用软件,防止问题,并对应用软件设计的组织工作方式有更好的理解。
作为一位应用软件设计者。自学应用软件设计之外的科学知识将使你在应用软件设计方面做得更好,即使很多应用软件设计都是与人一起解决问题。这是你可以他们的教育进行最好的投资。
"每一天都要努力正式成为比你醒来时更有智慧的人。忠实地履行你的职责,并搞好。你会系统地取得进步,但不一定是快速突飞猛进。然而,你要通过为快速冲刺做准备来培养纪律性。日复一日,一寸一寸地努力。如果你活得足够长,有朝一日,大多数人都会得到他们应得的东西。" 查理-芒格
作为一个应用软件设计者,你希望每天都能减少犯错,用好标识符替换坏标识符。如果作为一个应用软件设计者,能做到每天都有进步,那么随着你的专业技能、科学知识和实战经验的增长,生活也会变得更容易。
软专业技能
应用软件设计是一项团队运动,因此,你与他人的沟通和组织工作越有效,就越好。建立应用软件时的所有大问题都是由人引起的,也都是由人解决的。有效的沟通、说服和协作是值得投资的核心专业技能。
我曾经作为工程项目经理展示一个Scrum团队的Demo和进展。我的团队做得很好,并取得了很好的进展,但顾客对这个团队或我并不放心。我从一位经理那得到了一些反馈,他解释说是即使我在阐述过程中,把负面信息放在前面,把积极的部分留到了最后。这就像用扩音器播放坏消息,然后小声说好消息。这给人的感觉是我和团队没有搞好组织工作。
感觉是真实的
从那以后,我在演讲和沟通方面做了很多组织工作。你没有太多时间去交流,但你须要让它有价值。所有工程项目、晋升和其他重要决定都是由人作出的。你须要建立关系并影响他们。
结论
你想做梦都想更加了解应用软件设计,但提升更为重要是指取得巨大的飞跃,而是持续的精进和持续的自学。
其他开发者的实战经验也是一个很好的科学知识来源,与他们多交流能使自学变得更容易和愉快。多向你的开发伙伴自学,复制他们的成功,防止他们的错误。
END
成就一亿控制技术人
下一篇:软件开发邀请赛,精采由你撰写