0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

编程一万小时后的31条反思

奈因PCB电路板设计 来源:OSC开源社区 作者:局长 2021-08-23 14:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大多数情况下,如果你正在做的事情无法在互联网上找到答案,那么这通常意味着这个问题很难或者很重要,或者两者都是

尽可能多地删除代码

语法糖通常是不好的

简单往往是最难的

拥有各种各样的工具,并知道该用哪些工具来完成工作

了解最常用的工具的内部结构,如 git 和 bash

为重复的工作流程构建自己专用的工具

从最好的资料中进行学习(这里 Matt 举例称他在学习 Go 时阅读了标准库)

如果代码看起来很丑,那很可能是一个严重的错误

如果必须编写不是文档字符串 (docstring) 的注释,则应该考虑对这段代码进行重构

如果不了解所编写的程序是如何在生产环境中运行的,那就说明不了解程序本身。优秀的工程师知道他们的程序在各种环境中是如何运行的

上面这条经验对于构建管道也适用

谨慎使用他人的代码

互联网上找到的代码大多数都很糟糕,有时候自己写一个更好的版本会更容易

永远不要直接依赖自己可以轻松重写的小型库,或本应很小的大型库

知道什么时候该打破规则。对于“不要重复自己”这种规则,有时候重复比使用依赖要好

将代码组织成模块、包和函数很重要。了解 API 的边界位置是一门艺术

大多数情况下应选择最有效的工具,但也要选择自己所知道的。Arch Linux 是现代开发者最高效的操作系统吗?对我来说,是的,但对大多数人来说,可能不是

避免圈复杂度 (Cyclomatic complexity)

避免多层嵌套条件

正确命名变量,这也是一门艺术

虽然很少见,但有时报错可能确实是编译器的问题

谨慎使用深奥的语言特性,但在应该使用的时候还是要使用

技术的传播并不均衡对等。例如,前端开发者可以从负责底层技术的工程师那里学到许多东西,云工程师可从 JavaScript 开发者身上学到用户体验和可用性方面的知识。但反过来却未必成立

因此,不同类型的工程师看待世界的方式是不同的

部分程序员的效率是其他程序员的 10 倍

成为 10 倍程序员与 10 倍员工这两者之间没有相关性(或许是负相关)

好的 API 易于使用且难以误用

配置七边形(Matt 自创的术语)从硬编码值开始,到环境变量、CLI Flag、配置文件、模板化配置文件、DSL、通用 bash 脚本,再到硬编码值。开发者应了解这个七边形中的各个位置。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3723

    浏览量

    97430
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74358

原文标题:编程一万小时是种什么样的体验?

文章出处:【微信号:pcbgood,微信公众号:奈因PCB电路板设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FRDM-MCXE31B的设计以及如何导入和运行ACH示例

    本文主要介绍FRDM-MCXE31B的设计以及如何导入和运行ACH示例。 通过本文,读者可以详细了解FRDM-MCXE31B板的主要资源、设计文件以及如何导入、下载和运行SDK示例。 硬件
    发表于 04-21 09:10

    RT685 在初始编程卡在 BootROM 中,什么原因导致的?如何解决?

    我在对RT685进行编程时遇到了一些问题。在进行初始编程,RT685无法启动,并一直卡滞在BootROM状态。出于生产方面的考虑,我们选择使用SEGGERFlasher Pro而非blhost来
    发表于 04-16 07:06

    探索FM31L276/FM31L278:集成F - RAM的处理器伴侣

    探索FM31L276/FM31L278:集成F - RAM的处理器伴侣 在电子设计领域,寻找一款能高度集成且性能卓越的芯片是每个工程师的追求。今天,我们就来深入探讨一下Infineon旗下
    的头像 发表于 03-30 14:30 187次阅读

    线性化编程与结构化编程的不同点

    线性化编程是将整个用户程序连续放置在一个循环程序块(OB1)中,按顺序执行的编程范式。这种结构与PLC所代替的硬接线继电器控制类似,CPU逐条地处理指令,体现了早期PLC编程的简单性和直观性。说白了就是一
    的头像 发表于 03-16 16:58 494次阅读
    线性化<b class='flag-5'>编程</b>与结构化<b class='flag-5'>编程</b>的不同点

    SN54LS31和SN74LS31延迟元件:特性与应用解析

    SN54LS31和SN74LS31延迟元件:特性与应用解析 在电子设计中,延迟元件是非常重要的基础部件,它能够精确控制信号的传输时间,满足各种复杂电路的时序要求。今天我们就来深入了解一下德州仪器
    的头像 发表于 03-12 16:35 201次阅读

    TPSM831D31:高性能双输出PMBus电源模块的深度剖析

    电源模块,凭借其出色的特性和广泛的应用场景,成为众多工程师的首选。本文将对TPSM831D31进行全面的分析,从其特点、应用、详细描述到编程配置等方面,为大家呈现一个完整的技术图景。 文件下载
    的头像 发表于 03-03 14:55 322次阅读

    RGB时序灯的工作原理讲解

    图文配合讲解了RGB时序灯的应用场景、什么是RGB时序灯、信号格式与传输规则、灯珠芯片的工作流程、颜色与动态效果控制方式等
    发表于 02-06 11:36 0次下载

    解析DS26LS31C/DS26LS31M:高速差分线驱动器的卓越之选

    解析DS26LS31C/DS26LS31M:高速差分线驱动器的卓越之选 在数字数据传输领域,差分线驱动器扮演着至关重要的角色。今天,我们就来深入了解德州仪器(TI)推出的DS26LS31
    的头像 发表于 01-15 17:10 835次阅读

    AM26LS31/AM26LS31M:高性能差分线路驱动器的设计与应用

    AM26LS31/AM26LS31M:高性能差分线路驱动器的设计与应用 在电子工程师的日常设计工作中,选择合适的线路驱动器对于实现稳定、高效的数据传输至关重要。今天,我们就来深入探讨一下德州仪器
    的头像 发表于 01-04 17:45 2150次阅读

    博通LED灯:设计与应用的全面指南

    博通LED灯:设计与应用的全面指南 作为电子工程师,我们在设计项目时经常会用到各种LED灯。今天就来详细聊聊博通(Broadcom)的HLCP-x100和HLMP-2xxx系列LED灯,深入
    的头像 发表于 12-30 15:30 421次阅读

    长城汽车乌兹别克斯坦KD工厂第一万辆新车下线

    近日,长城汽车在乌兹别克斯坦KD工厂举行第一万辆新车下线仪式。值此工厂投产两周年之际,此举不仅是长城汽车深耕当地市场的重要里程碑,更标志着在中亚地区的本土化战略迈入规模化发展的新阶段。
    的头像 发表于 11-10 15:35 681次阅读

    31政策,磁性元件选型与技术升级图谱

    2025 年,随着 “5・31” 政策正式落地,光伏行业迎来一场触及根本的 “市场化革命”。这场变革的核心,是国家以政策手段打破行业长期存在的“内卷困局”。 在光伏逆变器、储能变流器中,磁性元件
    的头像 发表于 09-04 14:22 1094次阅读
    5·<b class='flag-5'>31</b>政策<b class='flag-5'>后</b>,磁性元件选型与技术升级图谱

    【HarmonyOS 5】鸿蒙中进度的使用详解

    【HarmonyOS 5】鸿蒙中进度的使用详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、HarmonyOS中Progress进度的类型
    的头像 发表于 07-11 18:26 1270次阅读
    【HarmonyOS 5】鸿蒙中进度<b class='flag-5'>条</b>的使用详解

    从3小时到3分钟:EdgeCAM 如何重构数控编程流程

    路径,通过仿真验证并调整参数(如步距、切削深度)。 后处理与输出 选择匹配机床的后置处理器,导出NC代码至数控机床。 四、优缺点分析 优点: 高效自动化:特征识别和模板化编程大幅缩短编程时间
    发表于 06-27 19:53

    M215HGE-L31规格书

    电子发烧友网站提供《M215HGE-L31规格书.pdf》资料免费下载
    发表于 06-04 17:27 0次下载