当前位置:网站首页>从普通进阶成优秀的测试/开发程序员,一路过关斩将
从普通进阶成优秀的测试/开发程序员,一路过关斩将
2022-08-01 18:56:00 【网易测试开发猿】
目录:导读
前言
从普通进阶成优秀的测试/开发程序员
给自己设定一个提高的目标很容易,但是“想成为一名伟大的程序员”却不是一个容易实现的目标。首先,说“我想变得更好”,是建立在你认识到“更好”的样子基础之上。另外,有太多的人追求进步而不知道如何去实现。
1、时刻提醒自己:学习
学习某件事的第一步是承认你不知道。这听起来很正常,但经验丰富的程序员还记得要真正让自己承认这一点需要花多长时间。很多计算机科学专业的学生毕业的时候,都有一种很傲慢的态度,就是“我知道最好的”。
但其实这只是一种虚张声势,他们不知道从哪里来的自信,就好像他们什么都知道,并且需要向每一位新同事强烈的证明这一点。换句话说:你所谓的“我知道我在做什么!”这种态度会妨碍你学习新的东西。
2、不要试图证明自己是正确的
要想成为优秀的人,你必须学会吃一堑长一智。但是千万小心,经验也可能教会我们重复一些不良行为,甚至也教会我们养成一些不好的习惯。我们都遇到过有8年经验的程序员。对于他们来说,同样的经历,重复了8次。为了避免这种综合症,看看你做的每一种事情,然后问自己:“我怎样才能让它变得更好?”
新手(以及很多经验丰富的开发人员)会看着他们自己写的代码,欣赏它的奇妙。他们编写测试来证明他们写的代码是可以运行的,而不是试图让它运行失败。真正优秀的程序员会积极地寻找他们的错误在哪里,因为他们知道最终用户会发现这些遗漏的bug。
3、“可以运行了”这个目标不是终点,而是起点
是的,你的第一步总是想写出质量很高的代码,而且代码上面都写满了注释。但是一般的程序员在这一点上就退出,然后继续下一件事。
但是一旦“完成”就停止了这种思想就像是拍一张快照,然后期待它是一件艺术品一样。伟大的程序员都知道第一次迭代只是一次迭代。它运行起来了,恭喜你!但你的工作还有很多。现在,使它变的更好。
4、写三次代码
好的程序员目标是写出可以运行的软件就可以了。伟大的程序员写出来的软件目标是运行得非常好。通过一次编写这种情况几乎不可能发生。最好的软件通常被写三次:
首先,编写软件以向你自己(或客户)证明解决方案是可行的。其他人可能没有意识到这只是一个概念验证,但你确实这么做了。
第二次可以让它正常地运行。
第三次你能够让它平稳的运行。
5、阅读大量的代码
你可能希望我能够引导这个建议,实际上,这也是提高编程技能的最常见和最有价值的建议。阅读他人代码的原因也很重要,只是不是很明显而已。
当阅读其他人的代码时,你会看到其他人是如何解决编程问题的。但不要把它当成是文学作品,而是把它当成一种教训和一种挑战。想要变得更好,问问自己:
那块代码我该怎么写呢?既然你已经看到了别人的解决方案,那你会有什么思路呢?
6、不要把编码仅仅看作是任务
从事个人编程项目有很多优势。首先,它为你提供了一种学习工具以及学习技术的方法,而这些工具和技术在你当前的工作中是用不到的,但是这将使你在下一份工作中更有市场。
无论你是为开源项目做贡献,还是为当地社区组织做公益工作,你都能获得技术技能和自信。(此外,你的个人项目向潜在雇主证明,你是一个从不停止学习的人。)
编写代码的另一个好处是它强迫你自己去解决问题。你不能把这些难啃的问题留给别人,所以它会让你过早地寻求帮助。
7、你是在学习技术,而不是在学如何使用工具
编程语言、工具和方法这些都只是一时的。这就是为什么需要你在这么多的语言和框架中尽可能多的获得经验。重点关注编程基础,因为基础永远不会改变;更关注体系结构而不是如何编程。
如果你觉得做某件事只有一种正确的方式,那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力,也会使你很难适应变化。
下面是我整理的2022年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结
向着目标奔跑,何必在意折翼的翅膀,只要信心不死,就看得见方向。顺风适合行走,逆风更适合飞翔,人生路上什么都不怕,就怕自己投降。
勤学苦练为理想,百折不挠争未来。
边栏推荐
- C#/VB.NET Extract table from PDF
- MySQL关系型数据库事务的ACID特性与实现方法
- Library website construction source code sharing
- SQL function TO_DATE (2)
- 安徽建筑大学&杭州电子科技大学|基于机器学习方法的建筑可再生能源优化控制
- 在表格数据上,为什么基于树的模型仍然优于深度学习?
- WinRAR | Generate multiple installers into one installer
- Redis的内存淘汰策略和过期删除策略的区别是什么
- 以消费场景为驱动的CMDB要怎么建?
- MLX90640 红外热成像仪测温模块开发笔记(完整篇)
猜你喜欢
硬件大熊原创合集(2022/07更新)
面试必问的HashCode技术内幕
odoo coding conventions (programming conventions, coding guidelines)
三种方案解决:npm WARN config global --global, --local are deprecated. Use --location=global instead.
【木棉花】#夏日挑战赛# 鸿蒙小游戏项目——数独Sudoku(3)
B005 - STC8 based single chip microcomputer intelligent street light control system
日志工厂(详细)
C#/VB.NET:从 PDF 文档中提取所有表格
Golang协程调度器scheduler怎么使用
kubernetes-部署nfs存储类
随机推荐
PanGu-Coder:函数级的代码生成模型
Industry Salon Phase II丨How to enable chemical companies to reduce costs and increase efficiency through supply chain digital business collaboration?
COS 用户实践征文
随时随地写代码--基于Code-server部署自己的云开发环境
Selenium在远程中的截图
ExcelPatternTool: Excel表格-数据库互导工具
modbus bus module DAM-8082
英国伦敦大学|眼科强化学习:潜在应用和实施挑战
Zabbix6.0 DingTalk robot alarm
SQL function TO_DATE (2)
LeetCode 1374.生成每种字符都是奇数个的字符串
Go iota关键字与枚举类型实现原理是什么
Summer vacation second week wrap-up blog
The function realization of the national standard GB28181 protocol EasyGBS platform compatible with the old version of the inflow port
Prometheus的Recording rules实践
Leetcode73. Matrix Zeroing
odoo coding conventions (programming conventions, coding guidelines)
在全志V853开发板试编译QT测试
Stop using MySQL online DDL
SQL函数 TO_DATE(二)