道哥的第 023 篇原创 目录 一.前言 二.assert 断言 assert 是一个宏,不是一个函数 三.if VS assert 1. 使用 if 语句来检查 2. 使用 assert 断言来检查 3. 你喜欢哪一个? 4. assert 的本质 5. if-else 的本质 6. 我喜欢的版本 五.总结 一.前言 我们在撸代码的时候,经常需要对代码的安全性进行检查,例如: 指针是否为空? 被除数是否为 0? 函数调用的返回结果是否有效? 打开一个文件是否成功? 对这一类的边界条件进行检查的…
本文为作者原创,如需转载请在文首著名地址,公众号转载请申请开白. springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一起维护). 数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通过一些 HTTP 工具直接向后端请求一些违法数据. 本文结合自己在项目中的实际使用经验,可以说文章介绍的内容很实用,不了解的朋友可以学习一下,后面可以立马实践到项…
数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过浏览器直接通过一些 HTTP 工具直接向后端请求一些违法数据. 本文结合自己在项目中的实际使用经验,可以说文章介绍的内容很实用,不了解的朋友可以学习一下,后面可以立马实践到项目上去. 下面我会通过实例程序演示如何在 Java 程序中尤其是 Spring 程序中优雅地的进行参数验证. 基础设施搭建 相关依赖 如果开发普通 Java 程序的的话,你需要可能需要像下面这样依赖: <de…
在设置封装的pads stacks的页面里,diameter,drill,plated三个项目(盘外径60mil,孔30mil) diameter:60,drill:30,plated:checked   就是普通焊盘了diameter:60,drill:30,plated:clear    非金属化孔焊盘(这个用的挺多的,一般在大焊盘加一圈小的金属化过孔)diameter:30,drill:30,plated:clear    直径30的孔,非金属化孔 一般要做一个非金属的钻孔,钻孔外圈不要焊…
前言 Java的多线程是一把双刃剑,使用好它可以使我们的程序更高效,但是出现并发问题时,我们的程序将会变得非常糟糕.并发编程中需要注意三方面的问题,分别是安全性.活跃性和性能问题. 安全性问题 我们经常说这个方法是线程安全的.这个类是线程安全的,那么到底该怎么理解线程安全呢? 要给线程安全性定一个非常明确的定义是比较复杂的.越正式的定义越复杂,也就越难理解.但是不管怎样,在线程安全性定义中,最核心的概念还是正确性,可以简单的理解为程序按照我们期望的执行. 正确性的含义是:某个类的行为与其规范完全…
strcpy   函数的原型是: char * strcpy(char * strDest,const char * strSrc);    功能:把从strSrc地址开始且含有NULL结束符的字符串复制到以strDest开始的地址空间,返回指向strDest的指针. 说明:strSrc和strDest所指内存区域不可以重叠且strDest必须有足够的空间来容纳strSrc的字符串. 与strncpy   函数进行对比: strncpy  函数的原型是: char * strncpy( char…
一十一 发表于 2018-03-02 09:10:08 TestOps   最具影响力的测试运维一体化综合平台. DevOps实现了从代码到服务的快速落地,而TestOps集成了DevOps效率,更是将质量与过程完美的体现. 1)介绍 我在2017年阅读了许多有趣的书籍,这对我影响很大. 其中最好的是Nassim Nicholas Taleb的<Fooled by Randomness>,黑天鹅和防空洞,这也许是最重要的,尽管如果不阅读剩余的两部分就不能完全理解. Taleb有一个非常独特的原…
写程序的过程中,我们对try-catch在熟悉不过了,捕获异常进行处理,以保证程序的健壮性. 今日突发一想,如果我们catch中的代码异常了怎么办?我们做以下一种假设 static void Main(string[] args) { try{ //Code A } catch{ //Code B } finally{ //Code C } } 按照我们平时经常用的,我们在Code A的位置执行出错之后,我们最后可能在Code B进行错误处理,然后可能在Code C处写错误日志. 那么问题来了,…
如何评论一个开发代码写的好?清晰简洁明了?No,No,一个处女座就可以写出来了,整齐地代码,详细的注释不是代码好的标准,应该说不是最重要的标准.代码写的是否健壮才是检验的重要标准. 代码的健壮性: 当我们测试向开发提出一个bug,问怎么会出现这样一个bug,他们可能会说代码写的不健壮.何为健壮性,健康强壮,抵挡得住测试各种异常场景的测试才为健壮.而真正的大牛追求的就是以较少的代码量来完成逻辑开发,还能保持代码的健壮性.而这样的代码很少见,一般的程序员见到还不一定能看懂. Python函数的健壮性…
所谓的程序健壮性是指处理异常的能力,在异常中能够独立处理异常,并且把正确的答案输出. 例如: 有一个程序能够下载一个文件到指定的路径,但是这个路径是不存在的,因此程序必须要处理这个情况. 例1:下面的代码就没有很好的考虑到异常情况,如果service层出现某个异常,则返回给前端的值就为null 例2:下面的代码没有考虑到returnresult为null时,catch里面这样调用会出现空指向异常,而且还没有考虑到try里面的值为null的情况,返回给前端的值也为null , 完整的代码示例:…