惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
美团技术团队
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
T
Tailwind CSS Blog
U
Unit 42
C
Check Point Blog
S
SegmentFault 最新的问题
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
罗磊的独立博客
小众软件
小众软件
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net

szhshp 的第三边境研究所

假设, AI 把我代替的那一刻真的到来 | szhshp 的第三边境研究所 小傻瓜都能懂的 AstrBot QQ 机器人集成 MCP 功能实战指南 | szhshp 的第三边境研究所 《智人之上: 从石器时代到 AI 时代的信息网络简史》阅读笔记 | szhshp 的第三边境研究所 iPadOS 26 无法设置空间场景图片壁纸的解决方法 | szhshp 的第三边境研究所 《一路云海》(终) | szhshp 的第三边境研究所 《一路云海》(四): 如何不按套路旅行 | szhshp 的第三边境研究所 《一路云海》(三): In Ya Mellow Tone | szhshp 的第三边境研究所 《一路云海》(二): 关西世博参观纪实 | szhshp 的第三边境研究所 《一路云海》(一): 新的征程 | szhshp 的第三边境研究所 2025 大阪世博会 [ 3 天前-先到先得 ] 阶段 场馆预约必中独家攻略 | szhshp 的第三边境研究所 Hackathon 随想 | szhshp 的第三边境研究所 一杯双皮奶 | szhshp 的第三边境研究所 Armbian + CasaOS + NAS 配置指南 | szhshp 的第三边境研究所 Docker 构建镜像报错: error getting credentials - err: exit status 1, out: `` | szhshp 的第三边境研究所 Disqus RIP! 论过高的维护成本如何治疗固执的坏习惯 | szhshp 的第三边境研究所 炸弹猫桌游变体规则 | szhshp 的第三边境研究所 《小岛经济学》阅读笔记 | szhshp 的第三边境研究所 《金钱心理学》阅读笔记 | szhshp 的第三边境研究所 为知笔记 RIP: 迁移剩余的笔记 | szhshp 的第三边境研究所 2025 博客第十年展望 - 再见我的过去 | szhshp 的第三边境研究所 我在独立游戏里面致敬的作品 | szhshp 的第三边境研究所 《How to make thing faster》阅读笔记 | szhshp 的第三边境研究所 《The Art of Clean Code》阅读笔记 | szhshp 的第三边境研究所 《Clean Architecture: A Craftsman Guide to Software Structure and Design》阅读笔记 | szhshp 的第三边境研究所 《How AI Works》阅读笔记 | szhshp 的第三边境研究所 游戏策划废案 - Project Uranus | szhshp 的第三边境研究所 游戏策划废案 - Project X | szhshp 的第三边境研究所 人生第一款独立游戏开发复盘 | szhshp 的第三边境研究所 Trap of Life | szhshp 的第三边境研究所 如果我用手搓了个暗物质雏形 | szhshp 的第三边境研究所
What is a coder's worst nightmare? | szhshp 的第三边境研究所
2017-05-08 · via szhshp 的第三边境研究所

Meta

目录

“My code works, I don’t know why”

222233333

  • Your code (or a bug in it) accidentally kills or maims someone
  • Internet Explorer (if you are a Web developer).
  • Requirement changed, again.
  • GitHub merge conflict
  • Accidentally typing rm -rf * in a wrong directory. THE END. :(
  • Stack Overflow is down!
  • Going to Stack Overflow and seeing someone’s post with the exact same question you have been trying to get answered. Posted a year ago with no answers. [xkcd: Wisdom of the Ancients]
  • Reaching your question limit on Stack Overflow
  • The bug only occurs in production and can’t be replicated or triggered locally.
  • The probability of the bug occurring is low, but not low enough to ignore.
  • The cause of the bug involves a race condition that only occurs under load.
  • The cause of the bug is unknown.
  • You didn’t write the code that caused the bug but are responsible for fixing it; the person who wrote the code no longer works for the company.
  • The issue that caused the bug is in some library that is reliable 99.9% of the time and thus is the last place you would look.
  • Hardware bug, but everybody assumes it’s the software.
  • Many others have attempted to debug it over the years; nobody succeeded.
  • The bug is a logical error that only occurs at run-time after a long period of time.
  • Debugging requires expertise in a field you know nothing about.
  • You have a tight deadline to fix the bug.
  • The bug can’t be ignored because your job is at stake.
  • Semicolon key not working
  • Seeing your uncommented code a year later on an awesome working project and screaming while struggling, “How the hell did I do this?” and “Did I really write this code?” It’s like getting lost in your own house.
  • A library with no documentation.
  • = instead of ==
  • Overconfidence. Lack of preparation. Underestimation. Furious activity instead of groking.
  • “My code works, I don’t know why”
  • Under-communication: Programmers need to understand what they are building, and how it will be used. You need to establish context. This is because while building something there are about 100 different points in which you need to make a judgment call. Having the context allows you to make the judgment call.
  • Over-communication: Meetings, meetings, meetings… can be death of programmers.
  • Have to wait a day for getting clarifications, if the “Client” is in another Time Zone
  • No documentation or much worse, useless documentation. (e.g., stating the obvious, having nothing to do with the code, etc)
  • Indentation is messy and you cannot debug your code because of the illogical structure
  • The program stops responding due to a bug in a particular version of the OS you do not have access to.
  • The boss tries to test the program with an old version.
  • A client does something unimaginable that stops your program from working. You don’t know what the client did and your manager wants you to fix it by the next day.

参考文献

What is a coder’s worst nightmare?