意甲

软件开发总是检查空白

2019-06-20 01:09:57来源:励志吧0次阅读

  上个月,Justin讨论了他对基本编程理论资源的探求情况。我经常遇到人们忘记检查空白——或是不知道如何检查空白——的情况。

  我记不清有多少次看到某个可怜的工程师用大量时间试图解决一个由额外的空白造成的问题。我不关心你使用哪种程序语言,字符串"hello"并不等同于字符串" hello "。hello前后的小空白并不影响人类的阅读能力,但对字符串比较操作符而言却极为重要。

  由于某种原因,我发现保存在数据库字符串中的额外空白是最大的隐患。我认为这种情况经常发生,因为当你用一个TOAD之类的工具查询表时,返回的结果以一个简洁的小型电子表格显示。你一眼很难发现一些数据上是否存在一些额外的空白。

  我发现解决这个问题的最简单方法(我经常到处使用它)是用一些特殊的字符,如方括号,将字符串封套起来。这样,如果存在额外的空白,我就能够看到。这些天我主要用Oracle进行开发,因此其语法可能如下所示:

  select '[' || keyword || ']' from keyword_table;

  将每个关键字用方括号封套起来,那么我一眼就能看到额外的空白。我相信SQL的其它变体也有相似的语法。

  如果字符串没有内部空白,你还可以搜索里面包含空格的任何内容——不过这种方法只能发现常规的空格,而遗漏tab之类的字符。而且,由于可能要进行老式的直接表扫描,这个过程可能非常缓慢:

  select keyword from keyword_table where keyword like '% %';

  无论什么时候,某个工程师来请我帮忙调试,以查明为什么他们的系统不能正确登录数据库,我做的第一件事情就是检查他们所使用的登录证书中的空白。(当然,第二步就是检查证书本身。)我发现,许多时候,错误的空白往往是罪魁祸首。

  :德东

  查看本文国际来源

7个月的宝宝吃什么辅食
小孩不爱吃饭是什么原因
小孩便秘怎么办快速通便
分享到: