哈哈,太真实了!除了《颈椎康复指南》,还有这 9 本书

2023-11-12

点击上方 Java后端,选择 设为星标

优质文章,及时送达

作者 | sivagao

链接 | https://github.com/sivagao

本文罗列的这些书籍封面其实是各种典型的反模式,不过它们真的是非常常见以至于大家都习以为常了。

《从 Stack Overflow上复制粘贴编程方法精要》

你最需阅读的一本编程书籍(其实编程书留下这本就够了!)

搞笑的是,在 Gitbook 上真有这样的小书,从 code licensing issues, code attribution, code selection 上来论述。

小书:https://tra38.gitbooks.io/essential-copying-and-pasting-from-stack-overflow/content/code_licensing.html

《每六周重新你的过时前端代码实战篇》

唯一正确写 JavaScript 的方式就是每周换个花样重写一遍!事实上拥有一个不断进化和自我革命的社区是一件很不错的事情,但前提是要你要接受这样的现实。不断学习和充实自己,并且透过变动改变的这些抓住真正永恒和持久的东西。

关于JavaScript社区为什么这么生机勃勃,折腾不止,请看文章永不停步(折腾死人)的JavaScript 生态

文章:https://github.com/gaohailang/blog/issues/17

《精通为不写测试找借口》

不写单元测试你还有千般理由!!

单测其实有很多好处,譬如尽早发现问题,为重构代码和更新代码逻辑提供保障,简化集成(因为单测从细节底层入手),可以起到文档作用(详细完善单测用例完全可以),导向设计(测试驱动的更容易让你设计出优雅低耦合的代码)

Tips:微信搜索关注微信公众号:Java后端,每日技术文章推送,不见不散。

你要对如下的代码准备好足够的单元测试用例:

  • 那些经常要被修改的

  • 那些有很高复杂度的

  • 那些重要功能/常被查看的

《临时代码权威指南》

你说你下周会开始重构这坨意大利面条似的恶心回调嵌回调代码?!- 你TM在跟我开玩笑?交付的确很重要,但是这绝不是让你写出烂代码的接口。

以不符合设计原理 / 不易维护 / 不易调整 / 不够健壮 / 不够美观的方式解决问题。

比如水管连接处生了锈开始漏——

  • 把水管系统整个重新布置成没有接头的管线,叫做 refactor

  • 按原样把锈掉的水管换新的,叫做 proper fix

  • 把水管拆下来用防渗胶带缠住螺丝纹再装回去,叫做 patch

  • 叫你女朋友先把漏水的地方捂住然后下面放个脸盆接漏水,叫做 monkey patch

  • 用电焊把接头焊起来,叫做 hack

  • 用口香糖塞住漏缝然后用水泥把接头浇筑起来,结果因为那一大坨太重,下面不得不放一根木棍撑着,叫做 dirty hack

Dirty hack 不一定总是坏事,如果你没有脸盆、电焊、管钳、女朋友、新水管和防渗胶带,而这套水管系统反正就快整个报废了的话。

《都怪用户口袋书》

你还在花时间修复那些挠人的bug?你是10X工程师,怎么可能出错,肯定是别人的问题。是他们的手机,浏览器的问题,一定是!!很多工程师的确是这样解决问题,一些特殊case,一些在设计代码没有考虑的情况,就这样被他忽悠过去了。

《从入门到精通:简历驱动式开发》

要做『温赵轮』式程序员?那么感觉拿起这本书开读吧。

表现型选手就是这样,他们常常需要挑活做,去做那些看起来很高大上的事情,却不愿撩开袖子去处理细节去干脏活累活。

他们也经常在简历上写着 XXX 项目的主要负责任(实际上很可能就是参与了一部分,做了边缘系统的部分功能)。或者在简历毫不谦虚的写着精通XX编程语言(实际上很可能就是用它写过helloworld而已)。或者在简历大大方方的写着熟练使用XX消息队列(实际上可能也就仅仅是看了篇肤浅的博客而已)

《写出没人看懂代码:权威指南》

如果连你自己都看不懂,那就更棒了!

他们对系统代码的要求很低,『它不是能跑吗,你管那么多干什么』

这样的态度,让后来的同事很难推动后续的工作。譬如总是有莫名其妙的错误像是被它黑洞似的吞掉了,让周边模块的开发者背黑锅,一旦定位进去就像是在漆黑伸手不见五指的下水道走路,胆战心惊瑟瑟冷风还有弥漫空中的坏味道(代码逻辑很绕,变量名称很奇葩看不懂,几乎没有log日志打印出等等)

《精通搜索错误消息》

在网上总能找到让这些问题消失的方法!

《用上无用依赖的开发者指南》

如果你项目的依赖少于72个npm的包,那么你的代码是那么的孤独,赶快拿起这本书开始阅读吧。那些网上陌生人写的代码总是打包票的好是吧?

这些人真是把不重新发明轮子的优良传统发挥到极致,可能就是为了用某个函数方法就把一个巨大的依赖库加入到代码仓库中(后续花费在安装依赖上的时间,很可能超过了那个简单函数方法编写上),更有甚至不把依赖下载类似于 packages.json,bundler,requirements.txt等中,居然让后续协作人去生产机器上把依赖直接copy回来(orz...)PS:要用好类似于 pip freeze, npm shrinkwrap 等功能啊

-END-

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「web_resource」,关注后回复「进群」或者扫描下方二维码即可进入无广告交流群。

扫描二维码进群↓


读 

1. 你们心心念念的 GitHub 客户端终于来了!

2.  Redis 实现「附近的人」这个功能

3. 一个秒杀系统的设计思考

4.  零基础认识 Spring Boot

5.  团队开发中 Git 最佳实践

在看 

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

哈哈,太真实了!除了《颈椎康复指南》,还有这 9 本书 的相关文章

  • CBAM论文解读

    代码 https github com Jongchan attention module CBAM convolutional block attention module 表示卷积模块的注意力机制模块 是一种结合了空间 spatial
  • matlab数字信号处理(1)——正弦信号生成与时域分析

    写在前面 最近一直在用matlab在所信号处理算法的仿真工作 这一系列博客主要会分详一下遇到的一些问题及解决办法 和一些常用的功能模块的实现以及分分享 一 正弦信号生成 一段正弦信号 主要设计这些参数的设置 采样率 理论上来说要满足奈奎斯特
  • 用MapReduce实现2个表的join连接与查询

    首先准备两个CVS表单 我第一个表单为customer 第二个表单为order 接着实现2表连接查询 首先写一个实体类CustomerOrder 定义变量 package cn kgc kb15 demo05 import org apac
  • 克鲁斯卡尔算法(Kruskai)和普里姆算法(Prim)

    动画参考视频 最小生成树 Kruskal 克鲁斯卡尔 和Prim 普里姆 算法动画演示 哔哩哔哩 bilibili 克鲁斯卡尔算法 Kruskai 克鲁斯卡尔算法 从边的角度求网的最小生成树 时间复杂度为O eloge 和普里姆算法恰恰相反
  • python实现水仙花数

    水仙花数 Narcissistic number 也被称为超完全数字不变数 pluperfect digital invariant PPDI 自恋数 自幂数 阿姆斯壮数或阿姆斯特朗数 Armstrong number 水仙花数是指一个 3
  • 微信小程序wx.getUserProfile接口的使用

    导语 1 为什么要增加 getUserProfile接口 2 接口改变之后带来的影响 3 改版之后如何使用getUserProfile接口 1 为什么要增加getUserProfile 先上链接getUserProfile微信开发者文档 曾
  • 普源示波器 电脑 连接 软件_macOS Catalina上手体验:电脑与手机平板加速融合

    10月4日上午消息 秋季到来 苹果陆续发布正式版iOS 13 iPadOS等系统 今天 用于电脑产品线的macOS Catalina也终于正式上线了 经过使用后 新浪数码带大家一起看看新系统具体有哪些更新呢 新浪数码 贾乾 旧功能的改善部分
  • 流媒体服务器 客户端播放器方案推荐

    https github com jacke121 stream rtsp 使用说明 貌似把rtsp转为webrtc 但是没有把图片编码为webrtc Example config json server httpPort 8000 htt
  • 解决IDEA插件Plugins加载问题

    解决IDEA插件Plugins加载问题 1 找到plugins 2 添加镜像https plugins jetbrains com plugins alpha 5047
  • 风险平价策略python代码_风险平价组合(risk parity)理论与实践

    本文介绍了风险平价组合的理论与实践 后续文章将对risk parity组合进行更深入探讨以及引入预期收益后的资产配置实战策略 前言 资产配置是个很广泛的话题 在投资中是一个非常重要的话题 从使用场景分类上来看 资产配置可以是宏观的资产配置
  • javascript高级 --- 惰性函数

    一 介绍 惰性函数表示在函数执行的过程中 函数会在首次被成功调用的时候覆盖当前函数 成功后的逻辑不会被执行 二 案例 因为浏览器行为之间的差异 我们在处理一些差异的同时 必须考虑其兼容性问题 例如 addEventListener remo
  • 微服务swagger公共模块(SpringBoot 2.7.7 Swagger 3.0.0)

    一 SpringBoot和Swagger版本 SpringBoot
  • 电脑安装多个版本Java如何进行快速切换

    安装好Java之后 首先查看环境变量 在Path栏中寻找地址值为 C盘 java bin 之类的值 删除 然后找到该目录 删除具有java exe javaw exe javaws exe的文件夹 我们可以运用批处理脚本 进行快速的Java
  • javaweb——jsp(学习总结,javaweb必备技能)

    javaweb jsp 1 jsp简介 2 jsp的生命周期 3 jsp的三种语法 3 1 头部的page 指令 3 1 1 page指令的相关属性 3 2 表达式脚本 3 3 jsp注释 4 jsp的九大隐含对象 内置对象 5 jsp的四
  • mysql迁移kingbase缺少is_ipv4函数自定义实现

    mysql迁移kingbase缺少is ipv4函数自定义实现 TOC mysql is ipv4函数 is ipv4函数判断传入的字符串是否是一个ipv4地址 IS IPV4 expr Returns 1 if the argument
  • Elasticsearch学习

    0 带着问题上路 ES是如何产生的 1 思考 大规模数据如何检索 如 当系统数据量上了10亿 100亿条的时候 我们在做系统架构的时候通常会从以下角度去考虑问题 1 用什么数据库好 mysql sybase oracle 达梦 神通 mon
  • configure: error: C preprocessor "/lib/cpp" fails

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 错误代码 root localhost libevent 2 0 21 stable configure make make install checking for a
  • ARTS挑战打卡第十八周

    Algorithm 一周至少一道算法题 Review 阅读并点评至少一篇英文技术文章 Tip 学习至少一个技术技巧 总结和归纳在日常工作中所遇到的知识点 Share 分享一篇有观点和思考的技术文章 01 Algorthm https lee
  • 推荐一个开源虚拟化及云管管理平台

    能解决哪些问题 将几台物理服务器虚拟化成一个私有云平台 需要一个紧凑而且功能相对完整的物理机全生命周期管理工具 将 VMware vSphere 虚拟化集群转换为一个可以自服务的私有云平台 存在使用多云场景 能够在一个界面管理私有云和公有云
  • IDEA配置.gitignore不生效

    问题描述 我在 gitignore里面添加了日志文件不进行追踪 但是每次还是都上传到了云端 gitignore并没有生效 原因 gitignore只能忽略未被track的文件 而git本地缓存 如果某些文件已经被纳入了版本管理中 则修改 g

随机推荐

  • C/C++ 程序自删除

    文章目录 前言 一 代码 二 部分代码解释 前言 一般病毒之内的可能都带有自删除功能 而目前可进行完美自删除的方法并不多 其中一种较好的解决方法就是利用批处理文件 批处理文件一个优点就是 即使自身在运行的情况下也可以删除自己 所以实现的逻辑
  • 【Opencv&Cpp】12 像素统计:最大/小值、平均值、标准差

    minMaxLoc 找到全局最小和最大值 meanStdDev 计算矩阵的均值和标准偏差 找到全局最小和最大值 minmaxloc minMaxLoc InputArray src double minVal double maxVal 0
  • 大家来讨论怎么写概要设计

    http blog csdn net sunwill chen article details 7864904 笔者声明 本文讲述笔者浅薄的观点 意在抛砖引玉 望网友一起发表观点共同切磋 目前网络上的概要设计格式繁多 质量也是参差不齐 许多
  • 单链表C语言代码实现

    一 代码 include
  • sqli-labs-master靶场搭建以及报错解决

    一 前提准备 1 下载 sqli labs master mirrors audi 1 sqli labs GitCode 2 安装PHP study Windows版phpstudy下载 小皮面板 phpstudy xp cn 二 搭建靶
  • 华为OD机试 - 最小传输时延(Java)

    题目描述 某通信网络中有N个网络结点 用1到N进行标识 网络通过一个有向无环图表示 其中图的边的值表示结点之间的消息传递时延 现给定相连节点之间的时延列表times i u v w 其中u表示源结点 v表示目的结点 w表示u和v之间的消息传
  • Pycharm中修改注释文本的颜色(详细设置步骤)

    下面是在Pycharm中设置注释文本颜色的详细步骤 下面是修改前后对比 修改前注释行的颜色 修改后注释行的颜色 以上就是Pycharm中修改注释文本颜色的详细步骤 希望能帮到你
  • 小程序真机调试连接本地服务器进行调试

    小程序连接本地服务器 开发小程序时经常会遇到需要连接本地服务器进行调试的时候 但是总是连接不上 这里就说一下本菜鸟连接本地服务器的方法 第一步 把下图红框的地方勾选住 好多方法都得选这一步 第二步 设置里面代理按图中勾选 第三步是连接的方法
  • JavaScript避免使用return跳出多重循环从而继续执行函数;使用break跳出多重for循环

    一 先来看一下使用break仅跳出一层for循环的用法 const foo function for let i 1 i lt 3 i for let j 1 j lt 3 j if i 2 break console log 输出j的值
  • Mac上使用GPU加速训练模型

    文章目录 前言 使用GPU 前言 上一篇文章中我介绍了使用pytorch的一个完整模型训练套路 其中没有使用gpu 如果要使用gpu的话 win上我们可以使用cuda mac上可以使用mps 而我自己是mac电脑 需要进行如下修改 使用GP
  • ubuntu下docker配置国内镜像源

    既然都看到这篇文章了 就不解释为什么需要配置国内镜像源了 直接上步骤 此文使用ubuntu环境为Ubuntu 18 04 4 LTS 使用 sudo vim etc docker daemon json 命令新建或编辑文件 输入以下内容 r
  • 大话设计模式C++实现-第23章-命令模式

    一 UML图 二 概念 命令模式 Command 将一个请求封装为一个对象 从而使你可用不同的请求对客户进行参数化 对请求进行排队或记录请求日志 以及支持可撤销的操作 三 说明 角色 1 Command类 用来声明执行操作的接口 2 Con
  • 漫谈 SLAM 技术(下)

    转自 https zhuanlan zhihu com p 135958593 3 视觉SLAM系统关键问题 结合上述介绍的SLAM系统 我们从以下几个方面分析视觉SLAM系统需要考虑的关键问题 1 图像信息使用 视觉SLAM方法根据使用图
  • 模块""可能与您正在运行的Windows版本不兼容。检查该模块是否与regsvr32.exe的x86或x64版

    本人最近在研究mencoder 转换视频格式 发现转换rmvb需要 1 把drv43260 dll拷贝到系统的system32文件夹下 2 开始 gt 运行 gt regsvr32 drv43260 dll 来自 http topic cs
  • C++容器之 vector map set查找元素

    前面两篇基本上讲解容器的增加删除 其实现实世界中对数据的查找才是最大的需求 下面主要围绕着容器的查找来讲解 首先 由于vector没有实现find 方法 只能使用algorithm提供的find 方法 所以 直接在vector查找节介绍al
  • 多线程编程

    Linux线程概述 内核线程和用户线程 线程是程序中完成独立任务的完整执行序列 即一个可调度的实体 根据运行环境和调度者身份 线程分为内核线程和用户线程 内核线程 在有的系统上也称为LWP 轻量级进程 运行在内核空间 由内核调度 用户线程
  • 概率在计算机学中的应用,概率统计在计算机中的应用

    概率统计在计算机中的应用 一 综述 研究自然界中随机现象统计规律的数学方法 叫做概率统计 又称数理统计方法 概率论 是根据大量同类随机现象的统计规律 对随机现象出现某一结果的可能性作出一种客观的科学判断 对这种出现的可能性大小做出数量上的描
  • 交换机ACL配置

    交换机ACL配置 实验要求 PC3能ping通R3和R4 PC2能ping通R3和R4 R3和R4全网互通 通过ACL使PC2不能ping通PC3 先给每个接口配置ip PC3 192 168 5 3 24 192 168 5 254 PC
  • ngx_http_ssl_module

    ngx http ssl module 模块 语法 ssl 在 从 默认值 ssl off 背景 http 服务器 支持HTTPS协议为给定的虚拟服务器 推荐使用 ssl 参数的 听 指令而不是 这个指令 语法 ssl buffer siz
  • 哈哈,太真实了!除了《颈椎康复指南》,还有这 9 本书

    点击上方 Java后端 选择 设为星标 优质文章 及时送达 作者 sivagao 链接 https github com sivagao 本文罗列的这些书籍封面其实是各种典型的反模式 不过它们真的是非常常见以至于大家都习以为常了 从 Sta