什么是好的代码和好的工程师?

简介: 什么是好的代码和好的工程师?

我们都知道要代码要写的简单好用。但好代码到底需要具有什么标准?


第一级,代码能解决问题,达到目的。大部分刚刚入行的程序员都在这一等级,遇到问题网上搜索一个代码运行能解决就行。


第二级,代码要可读,可读的意思是,你把代码给到任何一个同事看,他都能看懂你代码要表达意思以及解决的问题。这并不是一件容易的事情,不信你试试。想要达到这个标准,你前提得有一个好编码规范:易懂的命名、注释等等。其次就是代码逻辑要简单。


第三级,代码要可扩展,可扩展的意思就是在指在需求变动的时候,你的代码是不是需要改动很大才能支持?想要达到这一级别可以多看看成熟的设计模式。


第四级,代码要能重用。代码可以在多个场景下调用。想要实现可重用这一点,可用 的技术有DSL、面向对象的设计模式等。我们经常说不要重复造一个轮子,除非这个轮子比以前的好。经常去看牛人写的轮子,也是一种进阶的方式。


有了上面几种衡量方式,写代码是不是会更清晰一点?


写到这里,我突然想起了16年从吴军老师的《硅谷来信》里看到的工程师的五个等级。也一并分享给大家。


第五级:能独立解决问题,完成工程工作;


第四级:能指导和带领其他人一同完成更有影响力的工作;


第三级:能独立设计和实现产品,并且在市场上获得成功;


第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代;


第一级:开创一个产业;


7.jpg


刚入职场的新人,我们要尽快达到第五级,能够独立解决问题。之后在想办法晋升。我们可能听说过,35岁之后的程序员就不太好找工作了,如果倒推一下,25岁工作。10年后就是35岁。这时候你在第几级?如果你不能跳到第四级,那确实不好找工作。如果你能达到第四级或之上,我想很多公司都会想着挖你。

目录
相关文章
|
4月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
79 18
|
5月前
|
运维 测试技术
测试与开发问题之测试开发工程师与软件开发工程师和测试工程师如何区别
测试与开发问题之测试开发工程师与软件开发工程师和测试工程师如何区别
|
编解码 前端开发 JavaScript
非科班出身的人想要顺利地转型成为编程领域的专业人士的建议
@[TOC](目录) 非科班想要丝滑转码,可以参考下述步骤: # 1、具体方法 1. 了解想要从事的领域:比如前端开发、数据分析、产品经理等。通过互联网进行调查,了解这些领域的职责、技能需求、发展前景等。 2. 学习基础知识:了解领域后,可以通过互联网、在线课程、书籍等途径学习基础知识。例如,如果想成为前端开发者,需要了解 HTML、CSS 和 JavaScript 等编程语言,掌握前端框架 (如 React、Angular 和 Vue 等) 和版本控制工具 (如 Git 等) 的基本使用。 3. 实践项目:掌握基础知识后,可以尝试实践项目,巩固所学知识并提高技能。例如,可以构建一个
|
SQL 安全 Java
硬核,腾讯内部整理的面向开发人员代码安全指南,适合所有程序员
硬核,腾讯内部整理的面向开发人员代码安全指南,适合所有程序员
132 0
|
前端开发 测试技术 程序员
程序员成长第八篇:做好测试工作
程序员成长第八篇:做好测试工作
222 0
|
设计模式 程序员
程序员成长第三篇:好的代码和好的工程师
程序员成长第三篇:好的代码和好的工程师
85 0
阿里抱真:工作7年,我的10条经验总结
阿里抱真:工作7年,我的10条经验总结
401 0
|
程序员
你可能没发现你只是程序员不是工程师
你可能没发现你只是程序员不是工程师
109 0
你可能没发现你只是程序员不是工程师
|
前端开发 jenkins 测试技术
自动化测试技术笔记(一):前期调研怎么做
虽然说自动化测试比较偏技术工作,但在开展前,明确你的工作目标和KPI也是不可忽视的一点。并不是说技术优秀就可以拿到好的绩效,企业生存第一法则是先活下来做产出,再考虑锦上添花和技术优化的事。
|
测试技术 数据库
阿里研究员:测试稳定性三板斧,我怎么用?
如何治理测试稳定性问题?很多人会说:环境、流程管控、监控、工具化、加机器、专人负责、等等。这些都是对的。不过这些都是解决方案层面的,而不是方法论和理论体系层面的。今天,阿里研究员郑子颖来说说测试稳定性的三板斧。据说,阿里同学们都非常认同这三板斧,看完文章感觉很多做的事情有了理论基础。
2744 0