博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
今天的一个bug
阅读量:7219 次
发布时间:2019-06-29

本文共 576 字,大约阅读时间需要 1 分钟。

python,webpy

有bug的API:删除文件夹

参数:文件夹ID

实现:判断文件夹ID是不是等于用户的默认文件夹ID,如果是返回false,如果不是,删除指定文件夹并返回true

def removeFolder(folderId,userId)     defaultId = getDefault(userId) if folderId == defaultId: return (False,"默认文件夹不能删除") else:         #删除文件夹 return True

结果: 从webpy传来的文件夹ID是unicode类型,而从数据库里查出来的默认文件夹ID是long类型,两者比较永远是False。

两个教训:1,是忘记了从客户端来的整数其实是字符串 2,因为没有单元测试,而且因为客户端的原因,它自己在客户端就判断了catId是不是和defaultId相等,如果相等就不向服务器发起请求,导致服务端的代码走的总是else分支,因此这个问题就一直没有暴露!直到客户端改版,新的程序员设计新的客户端时,就没有做这个判断,导致程序不该删除默认文件夹的结果删除了,于是就悲剧了。。。

转载于:https://www.cnblogs.com/code-style/archive/2012/02/23/2364616.html

你可能感兴趣的文章
定时与延时任务
查看>>
Squid 日志分析 和反向代理
查看>>
Hadoop的安装及一些基本概念解释
查看>>
大容量分区命令parted
查看>>
从输入 URL 到页面加载完成的过程中都发生了什么事情?
查看>>
实例讲解JQuery中this和$(this)区别
查看>>
centos 7 静态ip地址模板
查看>>
影响系统性能的20个瓶颈
查看>>
shell的详细介绍和编程(上)
查看>>
软件开发性能优化经验总结
查看>>
面试题编程题05-python 有一个无序数组,如何获取第K 大的数,说下思路,实现后的时间复杂度?...
查看>>
kendo grid序号显示
查看>>
Spring 教程(二) 体系结构
查看>>
Indexes
查看>>
2.Web中使用iReport 整合----------创建html格式的
查看>>
异常备忘:java.lang.UnsupportedClassVersionError: Bad version number in .class file
查看>>
最全三大框架整合(使用映射)——applicationContext.xml里面的配置
查看>>
初步理解Java的三大特性——封装、继承和多态
查看>>
知识点积累(一)
查看>>
iphone-common-codes-ccteam源代码 CCFile.m
查看>>