Traps to Developers
9 months ago
- #programming-pitfalls
- #web-development
- #performance-optimization
- HTML和CSS的陷阱包括`min-width: auto`会覆盖其他CSS属性,以及水平与垂直方向行为的差异。
- 块级格式化上下文(BFC)可以防止外边距折叠和包含浮动子元素时的父元素高度塌陷。
- 层叠上下文会影响`z-index`、定位和裁剪行为,由`transform`和`position: fixed`等属性创建。
- 移动端视口高度(`100vh`)问题可以通过`100dvh`解决,以考虑浏览器UI栏的影响。
- 浮点数陷阱包括NaN行为、负零以及硬件依赖的计算差异。
- 时间相关陷阱涉及闰秒、时区和夏令时,建议服务器配置使用UTC时间。
- Java和Golang在并发和相等比较方面有特定陷阱,比如Java中的`==`与`.equals()`区别。
- C/C++的未定义行为包括未初始化内存访问、严格别名和迭代器失效。
- Python的默认参数可变性以及numpy/pytorch差异是常见陷阱。
- SQL数据库陷阱包括NULL处理、隐式转换和影响性能的锁定行为。
- 并发问题如TOCTOU(检查时间与使用时间不一致)和原子引用计数效率低下被重点指出。
- Linux/bash陷阱涉及未设置变量、文件名大小写敏感性和命令路径缓存。
- React hooks的误用和状态管理错误可能导致bug和不必要的重新渲染。
- Git rebase和强制推送的细节,以及公开仓库中密钥泄露的风险。
- 网络问题包括TCP连接静默断开、CORS限制和HTTP方法请求体的误解。
- YAML和Excel数据处理陷阱,比如空格敏感性和自动数据转换错误。