已经99个bug了,我写的代码都没这么多bug[衰]
1
碎星的头像
Bug Maker
掘金酱居然改版了,酷!增加了一些便捷小工具入口,妙啊!搜索一键直达Google,Nice👏
碎星于2021-06-09 23:12发布的图片
9
碎星的头像
Bug Maker
碎星的头像
Bug Maker
碎星的头像
Bug Maker
【书名】:《程序员修炼之道》 【章节】:如何保持资源的平衡 【笔记】:程序中通常会使用各种各样的资源,而保持资源分配与释放之间的平衡是很重要的。文中给出了一些关于使用资源的建议: 1. 要有始有终,尽量让分配与释放在同一位置并一一对应。 2. 限定资源使用的范围,在离开范围时释放。 3. 需要分配一组资源时,释放资源的顺序应与分配资源的顺序相反。 4. 如果多次分配同一组资源,应该始终以相同的顺序分配它们,以减少死锁的发生。 5. 面向对象语言中可以利析构函数释放资源(Java中的finalize不能用于替代析构函数,它不可靠) 6. 支持异常的语言有两种选择保障资源正确释放:利用变量作用域或使用try-catch块的finally子句。(Java8的try-with-resources更好) 7. 编写封装器跟踪所有资源的分配与释放。
展开
评论
【书名】:《程序员修炼之道》 【章节】:死掉的程序不会说谎、断言式编程 【读书笔记】:一旦发现不可能发生的事情已经发生,程序就不再可靠,放任异常的程序继续执行可能会造成更大的损失,因此,有时候需要让程序尽早崩溃。 不太明白文中“捕获再抛出”反例程序有什么争议点,这种做法明显没什么意义,对异常的“捕获再抛出”通常在需要为抛出的异常添加更详细的错误信息时使用,个人觉得这是一个很有用的技巧,这也并未违背文中给出的“原因”。 断言用于预防哪些不可能发生的事情,不应该使用断言代替真正的错误处理,另外,要特别注意断言的评估条件是否具有副作用,这很容易导致海森堡Bug(调试本身改变了被调试系统的行为)。最后,断言是很重要的错误检测机制,为其提供良好的错误处理逻辑(写入日志、上报错误)优于关闭断言。
展开
评论
【书名】:《程序员修炼之道》 【章节】:契约式设计(Design By Contract) 【读书笔记】:契约,指双方或者多方共同协议订立用于约束彼此行为的文书或者承诺。在程序设计中,契约式设计可以用于明确约束软件模块之间的交互行为。 契约式设计要求:如果调用者满足程序的所有前置条件(如参数校验),那么程序执行完成后也会满足所有后置条件(结果校验)以及不变式(执行前与执行后都应该满足的条件)。 Kotlin在1.3版本基于契约式设计引入了Contract,用于向编译器提供函数的行为,以帮助编译器执行代码分析。
展开
碎星于2021-04-20 18:41发布的图片
评论
【书名】: 《程序员修炼之道》 【章节】:文本处理、工程日记 【读书笔记】:在《纯文本的威力》一文中,作者提到:纯文本相比其它二进制格式具有自解释与更加通用等特点,是保存"知识"的良好载体。处理纯文本无需特殊的工具,shell命令简单的脚本即可对其进行分析与处理,因此掌握一门文本处理语言(Shell、Python、Ruby)对于程序员来说是大有裨益的。 工程日记一文让我想到了最近正在玩的《荒野大镖客2》中亚瑟的笔记本,游戏中亚瑟会将自己旅途中的所见所闻所感一一记录下来,我想正是这样持之以恒的记录与时时反思,亚瑟才能在生命最后的最后从众多角色之中脱颖而出,实现自我救赎。回到我们工程师的角色,工程笔记可以为我们带来许多好处:1. 记录比记忆可靠。2. 抓住临时的想法。3. 像橡皮鸭一样帮助反思。
展开
评论
周边已到,从现在起,我就是头号沸人🤣
碎星于2021-03-18 19:55发布的图片
2
碎星的头像
Bug Maker
现在是北京时间 凌晨2点整,欢迎收听FM1024,程序员深夜电台。 呐个谁?对,说的就是你,你代码出bug了,还搁这听电台呢?快去改
1
下一页
个人成就
文章被点赞34
文章被阅读3,876
掘力值72
收藏集
3
关注标签
10
加入于