名句
Talk is a 💩 ,show me the code!!! 跟最优秀的人在一起工作学习、那么你再不堪,也是比较优秀的人 那是程序员最初的梦想:改变世界。 多思考、多总结、多请教,保持好奇心,多问一句是什么、为什么,才能探索到奥秘。 以老板展现出来的宽容作为对自己的要求,是一种非常愚蠢的行为。
写给工程师的十条精进原则-云鹏
感谢美团技术团队提供的一系列技术文章,这里是对写给工程师的十条精进原则-云鹏
的二次内容提取。
原则一:Owner意识
认真负责是工作底线
,自己交付的东西必须复杂,项目中的每一个文档,每一行代码都要认真完成,要对其质量进行负责。
积极主动
,不再计划中的任务工作,仍然要具备积极主动的精神取面对。要主动推动问题的解决,而不是视而不见。积极发现问题、暴露问题、推动团队的进度,保证项目顺利推进。在分内工作的同时,对于分外
的工作也要投入。
原则二:时间观念
做事有计划,工作分主次
原则三:以终为始
先想清楚目标,然后努力实现。
,明白自己想要什么,再为之奋斗。
带着目的去学习,不要做无头苍蝇
原则四:闭环思维
意见可以提,想法可以有,但是请最终落实到行动。
一个人是否靠谱,就看他能否左到凡是有交代,件件有着落,事事有回音。闭环思维
就是一种即使的反馈闭环,如果别人给我们分配了一个任务,不管完成的结果如何,一定要在规定的时间内给出明确的反馈。
真正的闭环,要求我们对工作中的事情都能够养成良好的思维习惯,沟通要有结论,通知要有反馈,To Do要有验收。
闭环思维
还要求我们一定时期的主动的进行阶段性反馈。
原则五:保持敬畏
君子之心,常怀敬畏`,当我们进入到一个新的团队,请先暂时忘掉之前的习惯,要尽快学习团队既有的规范,并且让自己与团队保持一致。
当然在我们充分了解之后,如果实在有不妥之处,可以全员讨论。其实,让规范与约定与时俱进,也是另一种形式的敬畏。
原则六:事不过二
孔子云:“不迁怒,不贰过”
,在错误中反思与成长,才能让我们成为更优秀的人。
原则七:设计优先
忽略前期设计,后期开发周期会大幅度拉长,并且出现及其多的维护代码。
原则八:P/PC平衡
产出与产能必须匹配。在系统的不断叠加功能的同时,必须同时通过优化系统架构来提供稳定的扩展。当然也不能一味提高产能而没有任何产出。
原则九:善于提问
勤于提问
,只有在争辩中,才能诞生最好的主意和决定。
懂得如何提问
,批判精神的同时要思考可能的解决方案。
原则十:空杯心态
保持“空杯心态”这一原则要求我们时刻进行自我检视与反省。
程序员的思考
编程不止CURD。
计算机基础
计算机基础是所有编程语言的根基,不理解计算机运作原理就无法真正理解编程的意义。 需要理解进程、线程、堆栈、内存寻址、函数调用……
java
熟练掌握 Java 需要你学习到 Java 特性的每个角落,不需要记住每个类和方法,但需要深刻理解每个特性的意义。 需要理解反射、泛型、容器、注解、并发….
XXX框架
对于框架: 我们第一步是学会使用。学习框架的基本用法能够帮助你完成绝大多数开发任务,掌握了高级用法能够提出更好的解决方案。学习框架没有捷径,在工作中一遍一遍地练习是唯一的方式。
第二部是理解原理,理解原理就是要理解框架的灵魂。这是一个程序人员从体力劳动进阶到脑力劳动的门槛。不理解原始只能做写代码的工具,理解原理才能成为真正的开发工程师。
第三部就是涉及框架。试着去实现一个简化的Spring,实现IOC,实现AOP。你会发现,你以前学到的所有关于java的知识,泛型、容器、反射、注解、设计模式以及重构等都会用到。通过设计框架,能够深刻地理解这些 Java 特性和框架的设计原理。
应用技术
茫茫多的技术栈,能做的就是多看多学多练。他就像我们大学上的那些专业课,学的时候觉得可能一辈子都用不到,但是在某一个瞬间,或许就成为了你的亮点优势。
编程的本质
程序=控制+逻辑+数据 优秀的代码都是实现了控制、逻辑和数据的分离,实现了很好的解耦和灵活性。
- 数据容易理解,就是程序的配置数据、静态数据和运行时数据
- 控制是程序的主流程,一般在微内核或框架底层实现,控制逻辑一般与具体业务逻辑关系不大,它只是定义了流程。
- 逻辑就是具体的业务逻辑,在特定约束下被控制流程调用产出符合预期的数据。
从控制、逻辑、数据的维度去理解框架、设计框架、优化代码,就能成为优秀的程序员。