好习惯成就好程序员

2023-05-16

公司搞了一次技术峰会,我有机会和大家聊了一下有关如何成功的问题。会上我向大家提出了我的想法,好习惯才能成就好程序员。

有很多人可能对这句话很不以为然,我也不忙辩解,先回答我下面的一个问题。

现在我们身边的同事,开车的越来越多了,如果周末你出去游玩,你需要寻找一个开车的伙伴,你愿意找下面的哪一位呢?

第一位,平常开车的时候,经常遇到一些小状况,但是因为见识多,所以很多事情知道怎么解决。

第二位,平常开车的时候,从来没出现过什么状况,但是经验非常欠缺,出了事都需要打电话求救。

你会选择哪一位呢?我告诉你,我会选择第二位。为什么,因为我相信,开车不出状况,绝对不是偶然的。这么多现象的背后,一定是因为这位朋友,会自然而然的绕开很多容易发生问题的地方。就拿开车来说,开车速度稳定且不超速,就是一个好习惯。不与别人斗气也是一个好习惯。喝酒不开车,疲劳不开车。都是非常好的习惯。

编程不也是如此吗?

我首先得批评一下应试教育。在我们学习C++ 的时候,往往甚么容易发生错误的语法,还偏偏就考这些,让你写出来。最典型的就是让你用一行代码写出一个循环出来。

回过头来,我们编程中第一件事情,就是对象的生命周期管理问题。有多少人的习惯,能够做到哪里创建,哪里释放?你可以观察一下,这方面习惯好的人,很难出现内存泄露的问题。

说到这里,我说好习惯让我们减少了很多不必要的麻烦。你或许还是不服。因为有很多时候,我们真是因为BUG ,才积累了很多经验。

是啊,但是BUG ,可以是别人的 BUG 啊。而且我们作为程序员最高的价值难道就是修改 BUG 吗?不!程序员最大的价值应该在创造,创造新的代码,新的功能,把灵感实现出来,发挥我们更大的作用。

米卢说,态度决定一切,汪中求说,细节决定成败。我们要说,习惯成就人生。我们程序员要去学设计、要去学架构,唯有练就一身好本领。而这个好本领中就应该包含一个好习惯。《高效能人士的七个习惯》讲的也是这个道理。《发挥你的优势才干》也是这个道理。当这些成为你的习惯的时候,他们就是你的优势力量,你可以在不知不觉中解决问题,也可以莫名其妙没出现问题。

越是细节处,也是显示出习惯的力量。因为在很多细小的地方,你都没有深入思考,而是凭借惯性思维-- 也就是习惯来工作的。

最近也看不过不少讲程序员成功的途径,我以为成功的途径大部分还是相同的,但是不一定很多人都能意识到相同的路径是什么。习惯就是这样一条路径,需要我们开始重视起来。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

好习惯成就好程序员 的相关文章

  • 有限视角重叠和不准确外参标定下的多相机SLAM的鲁棒初始化

    1 摘要 本文提出了一种当相机只有有限的公共视野和不准确的外参标定情形下的用于多相机视觉SLAM系统的鲁棒初始化方法 有限的共同视野导致只有一些特征可以在相机之间匹配上 离线标定后 xff0c 由于振动或相机错误放置而导致的不准确的外部位姿
  • Unifying Flow, Stereo and Depth Estimation论文阅读

    1 序言 上篇文章中我们提到了一种在线标定光学防抖主摄和ToF方法 其中使用RAFT作为光流估计网络来进行密集匹配 xff0c 本文我们来介绍一种更新的光流估计算法GMFlow xff0c 其被CVPR2022接收为Oral 同时也将介绍其
  • BARF: Bundle-Adjusting Neural Radiance Fields论文阅读

    摘要 神经辐射场 NeRF 可以合成真实世界场景的全新视角的照片 xff0c 其性能优异 xff0c 因此在计算机视觉领域引起较大的兴趣 NeRF的一个限制条件是需要准确相机位姿 本文提出了集束调整神经辐射场 BARF xff0c 可以用不
  • 自动驾驶高精定位

    定位是高等级自动驾驶的基础 xff0c 但在高速NOA和城区NOA等场景中 xff0c 如何能够稳定地在各种工况下实现高精度定位将是个难题 一个常见的问题是 xff1a 高速NOA 城区NOA功能需要实现多高精度的定位 xff1f 需要多高
  • 高精度组合导航里的松耦合、紧耦合、深耦合

    高精度定位 xff0c 是自动驾驶车辆一切丰满理想实现的前提 它用于判断自动驾驶功能是否处于可激活的设计运行条件内 xff1b 它用于支撑自动驾驶车辆的全局路径规划 xff1b 它用于辅助自动驾驶车辆的变道 避障策略 不同的场景特点 不同的
  • 超像素分割

    1 超像素 超像素是把一张图片中具有相似特征的像素进行聚类 xff0c 形成一个更具有代表性的大 像素 这个新的像素可以作为其他图像处理算法的基本单位 xff0c 可以减低图像的维度和异常像素点 目前常用的超像素分割算法有SLIC SEED
  • Numpy使用问题汇总

    1 批量操作 1 1 现象 import numpy as np vec 61 np zeros 10 int indices 61 np array 0 0 vec indices 43 61 1 print vec 上面代码的输出不是
  • K-means聚类算法

    K means 是我们最常用的基于欧式距离的聚类算法 xff0c 其认为两个目标的距离越近 xff0c 相似度越大 本文大致思路为 xff1a 先介绍经典的牧师 村名模型来引入 K means 算法 xff0c 然后介绍算法步骤和时间复杂度
  • 自组织映射(Self-organizing map, SOM)

    1 算法原理 自组织映射 Self organizing map SOM 通过学习输入空间中的数据 xff0c 生成一个低维 离散的映射 Map xff0c 从某种程度上也可看成一种降维算法 SOM是一种无监督的人工神经网络 不同于一般神经
  • 怎么将数据存入session

    怎么将数据存入session 默认数据都是存入request 需要自己设置存入session 1 方式1 原生session代码 64 RequestMapping 34 selectUser 34 public String select
  • Octree(八叉树)

    1 算法原理 八叉树 xff08 Octree xff09 是一种用于描述三维空间的树状数据结构 八叉树的每个节点表示一个正方体的体积元素 xff0c 每个节点有八个子节点 xff0c 将八个子节点所表示的体积元素加在一起就等于父节点的体积
  • DBSCAN聚类算法

    DBSCAN是一种非常著名的基于密度的聚类算法 其英文全称是 Density Based Spatial Clustering of Applications with Noise xff0c 意即 xff1a 一种基于密度 xff0c 对
  • 搭建网盘工具kk

    1 主要功能 支持用作简单文件列表 xff0c 无需数据库 xff0c 无用户管理 xff0c 分享等功能支持基本网盘功能 xff0c 需要安装MongoDB及Redis xff0c 支持用户注册 xff0c 文件分享 xff0c 用户目录
  • numpy中transpose详解

    transpose用于numpy中高维度数组的轴变换 xff0c 在二维情况下就是通常说的转置 该方法很不好理解 xff0c 本文详细介绍该方法 该方法有两个实现 xff0c 分别是numpy ndarray transpose和numpy
  • Python压缩文件

    1 标准库中的压缩模块 在我们常用的系统windows和Linux系统中有很多支持的压缩包格式 xff0c 包括但不限于以下种类 xff1a rar zip tar xff0c 以下的标准库的作用就是用于压缩解压缩其中一些格式的压缩包 2
  • LE-VINS:固态激光雷达增强的视觉惯性导航系统

    在光照剧烈变化 动态物体 弱纹理等视觉退化场景 xff0c 视觉路标点的深度估计难度急剧增加 xff0c 导致视觉惯性导航系统 VINS 的精度和鲁棒性恶化 采用非重复扫描原理的固态激光雷达 xff0c 为解决视觉路标点深度估计问题带来便利
  • Gradio介绍

    Gradio App 就是给 AI 算法工程师训练的模型赋予分享给大众的能力 从技术侧拆分 xff0c 由三个部分组成 xff1a 前端页面 43 后端接口 43 AI算法模型推理 Gradio 做了一件事情 xff0c 就是将这三个部分封
  • GitHub Copilot 快速入门

    GitHub Copilot 是 AI 结对程序员 可以使用 GitHub Copilot 在编辑器中获取整行或整个函数的建议 1 简介 让我们首先了解一些关于 GitHub Copilot 的内容 这是 GitHub 和 OpenAI 的
  • 电池连接接触电阻的优化研究

    金属与金属接触处的接触电阻主要受以下因素影响 xff1a 表面结构机械负载 表面结构可以通过表面平整度 表面氧化和吸水性进一步描述 电池组中的这些接头将采用焊接或螺栓连接方式 最初最容易想到的是螺栓母线接头 螺栓扭矩可用于估算力 xff0c
  • (二)CAS统一认证——自定义登录(数据库)

    简介 关于CAS的登录流程 xff0c overlay中只是一个简单的用户名密码登录 casuser Mellon xff0c 这个肯定是不能满足日常生产的需求的 xff0c 在日常开发中遇到最通用的情况就是从数据库中进行身份认证密码的比对

随机推荐

  • springcloud

    一 什么是SpringCloud xff1f Author xff1a 呆萌老师 QQ 2398779723 微信 it daimeng Spring Cloud是一个微服务框架 xff0c 相比Dubbo等RPC框架 Spring Clo
  • 计算机操作系统学习之多生产者多消费者问题

    文章目录 一 问题描述二 问题分析1 关系分析2 整理思路3 设置信号量4 具体实现5 补充 一 问题描述 有一个盘子 xff0c 每次只能放一个水果父亲专门往盘子里放苹果 xff0c 母亲专门往盘子里放橘子女儿专门等着吃盘子里的苹果 xf
  • 姿态角与欧拉角的关系

    1 姿态角与欧拉角 姿态角 xff1a 指的是机体坐标系与地理坐标系的夹角 欧拉角 xff1a 绕机体坐标系三个轴旋转的角度 关系 xff1a 绕某种旋转顺序的欧拉角与姿态角相等 xff08 1 xff09 在NED 北东地 坐标系 xff
  • 从入门到进阶,JAVA书籍的最佳阅读顺序!

    本文首发于知乎 xff0c 已获得1000 43 赞和收藏 原文链接 xff1a https www zhihu com question 269505829 answer 1791006152 先介绍下本人的情况 xff0c 希望对大家学
  • 设计数据密集型应用-C5-主从架构及同步延迟问题

    本文是 设计数据密集型应用 第5章学习笔记 什么是Replication Replication是在多台机器上维护的相同的数据 xff0c 即副本 保存副本的原因有以下几种 xff1a 减小延迟 xff1a 使得地理位置上数据离访问者更近
  • 第一条Pulsar消息发送

    什么是Pulsar pulsar是一个多租户 高性能server to srever消息解决方案 xff0c 最初由雅虎开发 xff0c 现在由apache维护 Pulsar的核心特性 xff1a 多集群云原生支持低延迟 良好的伸缩性多语言
  • 2014找工作总结-机会往往留给有准备的人

    转发请注明出处 xff1a 2014找工作总结 机会往往留给有准备的人 计算机专业同学的充电站 CSDN博客 其实我的求职过程在十一之前就已经结束了 xff0c 总体讲比较顺利 参加面试的几家公司基本都拿到了offer xff0c 分别是阿
  • 【数字图像处理】C++读取、旋转和保存bmp图像文件编程实现

    通过我这些天用C 43 43 读写bmp图像的经历 xff0c 摸索再摸索 xff0c 终于对bmp文件的结构 操作有了一定的了解 xff0c 下面就大概介绍bmp图片纯C 43 43 的读取 旋转和保存的实现过程 要用C 43 43 读取
  • 【数字图像处理】直方图均衡化详解及编程实现

    直方图均衡化的英文名称是Histogram Equalization 图像对比度增强的方法可以分成两类 一类是直接对比度增强方法 另一类是间接对比度增强方法 直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法 直方图拉伸是通过对比度拉
  • 【GPU编程】体绘制传输函数-分类(Volume Rendering Transfer function:Pre- VS Post-Classification)

    在科学可视化中 xff0c 我们所获得的体数据集经常是代表一些光学上的不同物理属性的单值 通常没有可行的方法可以从这样的数据中获得发射和吸收属性 因此用户必须采用某种映射方法给数据值分配光学属性值来决定数据中的不同结构的模样 这离的映射就被
  • 【OpenGL】理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式

    GL TRIANGLE STRIP绘制三角形方式很多时候令人疑惑 xff0c 在这里对其运作机理进行解释 一般情况下有三种绘制一系列三角形的方式 xff0c 分别是GL TRIANGLES GL TRIANGLE STRIP和GL TRIA
  • OpenJDK与JDK的区别分析

    OpenJDK与JDK的区别分析 一 以下是具体分析 xff1a 使用过LINUX的人都应该知道 xff0c 在大多数LINUX发行版本里 xff0c 内置或者通过软件源安装JDK的话 xff0c 都是安装的OpenJDK xff0c 那么
  • 【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值

    任何管理某资源的类比如智能指针需要遵循一个规则 xff08 The Rule of Three xff09 xff1a 如果你需要显式地声明一下三者中的一个 xff1a 析构函数 拷贝构造函数或者是拷贝赋值操作符 xff0c 那么你需要显式
  • 【Linux】Vim编辑器-批量注释与反注释

    vim编辑器 批量注释与反注释 在使用vim编写代码的时候 xff0c 经常需要用到批量注释与反注释一段代码 下面简要介绍其操作 方法一 块选择模式 插入注释 xff1a 用v进入virtual模式 用上下键选中需要注释的行数 按Contr
  • 【算法学习】图相关算法编程实现-深度优先遍历和广度优先遍历

    一 图的表示 图G 61 V E 要表示一个图 xff0c 通常有两种方法 xff1a 邻接表和邻接矩阵 两种方法都既可以表示有向图 xff0c 也可以表示无向图 邻接表表示由一个包含 V 个列表的数组组成 xff0c 其中每个列表对应V中
  • 【笔试面试题】腾讯2013实习生面试算法题及参考答案

    总结了一下自己遇到的以及同学遇到的面试算法题 xff0c 是技术二面 有几道题给出了参考答案 xff0c 还有几道没有好的思路 路过的大侠如果有好的思路请留个言交流下呗 1 八数码问题 xff1a 3 3的格子 xff0c 有1 8个数 x
  • 【Linux学习】epoll详解

    什么是 epoll epoll 是什么 xff1f 按照 man 手册的说法 xff1a 是为处理大批量句柄而作了改进的 poll 当然 xff0c 这不是 2 6 内核才有的 xff0c 它是在 2 5 44 内核中被引进的 epoll
  • 算法设计应该依赖抽象而不是业务

    很多时候 xff0c 算法的设计是归属于详细设计阶段的 一些公司甚至都没有设计而直接编码 这些往往导致很多算法的实现都混杂在业务模块中 典型的特点是 xff0c 这些算法会依赖于业务实体的某些属性的实现 举一个简单的例子 xff0c 我曾经
  • 做程序员老婆的幸福

    刚好看网上一个写程序员老公的 说说程序员老公的一些事情 请帮忙分析是不是典型程序员 xff0c 想起自己就是一个程序员 xff0c 也是一个老公 xff0c 却不以为然起来 虽然不以为然 xff0c 却并没有驳斥的任何意思 毕竟很多人都不一
  • 好习惯成就好程序员

    公司搞了一次技术峰会 xff0c 我有机会和大家聊了一下有关如何成功的问题 会上我向大家提出了我的想法 xff0c 好习惯才能成就好程序员 有很多人可能对这句话很不以为然 xff0c 我也不忙辩解 xff0c 先回答我下面的一个问题 现在我