【开发心得】一个因命名重复引起的悬案破解

今天修改代码的时候,发现了一个历史问题:在客户信息应用的界面里,由于字段过多,当时采用了tab窗口的方式进行,以方便客户进行编辑,但是tab其中的A窗口中,有一个备注文本框,发现在列表的时候能够显示出备注内容,但是点击编辑的时候,却无论如何都不能显示值,百思不得其解。

目录

原有代码

破案过程

案件分析


原有代码

非常简单的代码,而且问题只能出现在js中,涉及到的代码如下:

html代码:

<div class="form-group">
     <label class="myControlLabel col-md-3" for="txtRemark">&nbsp;&nbsp;备注:</label>
     <div class="myControls col-md-9">
        <textarea id="txtRemark" name="txtRemark" rows="3" class="form-control myInput"></textarea>
     </div>
</div>

列表代码:

{ field: 'Remark', title: '备注', sortable: false, align: 'left' }

编辑界面代码:

$('#txtRemark').val(Remark);

破案过程

通过alert跟踪,Remark的值,的确也从数据库取到了,毕竟在列表里是有的(可以有多条记录),但是就是在编辑界面出不来。

曾经怀疑是浏览器的原因,结果用各种浏览器测试,都是不显示。

不料偶然点开tab另外B窗口,拉到最下面,忽然发现界面上也有一个备注字段,其中的内容与A窗口的Remark的内容是一致的!一开始还不相信,毕竟这是两个js文件,按理说不应该有冲突的。

经过果断修改字段名(个人最喜欢排除法),果然问题出在这里!把A窗口的Remark改成RemarkRun,问题解决!

案件分析

回头再进行分析,犯了以下几个惯性思维的错误:

  1. 认为两个js文件,字段名重复不会有冲突;
  2. 认为A里面是列表,B界面是form,互相没有干扰;
  3. 数据库设计的时候,为了命名统一,把备注字段统一命名为Remark;

如果不是偶然点开B界面,估计今天的两三个小时又白费了,好在心态还不错,一直在思考,没有放弃,写出来供自己今后反思和提醒吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 哥德巴赫猜想是指任何一个大于 2 的偶数都可以写成两个质数之和的形式。下面是使用 Python 代码来验证哥德巴赫猜想的实现: ```python def is_prime(n): """ 判断一个数是否为质数 """ if n <= 1: return False for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return True def goldbach_conjecture(n): """ 验证哥德巴赫猜想 """ if n % 2 != 0 or n <= 2: return False for i in range(2, n // 2 + 1): if is_prime(i) and is_prime(n - i): return True return False if __name__ == '__main__': assert goldbach_conjecture(4) == True assert goldbach_conjecture(6) == True assert goldbach_conjecture(8) == True assert goldbach_conjecture(28) == True assert goldbach_conjecture(30) == True assert goldbach_conjecture(32) == True assert goldbach_conjecture(100) == True ``` 这段代码首先定义了一个用于判断质数的函数 `is_prime`,接着定义了一个用于验证哥德巴赫猜想的函数 `goldbach_conjecture`。在 `goldbach_conjecture` 函数中,首先判断输入的数是否为偶数,如果不是则返回 False;接着遍历从 2 到 n/2 的数,判断它们是否为质数以及 n 减去这个数是否也是质数,如果是,则返回 True,否则继续遍历。最后如果没有找到符合要求的两个质数,就返回 False。在主函数中,我们对一些例子进行验证。 ### 回答2: 哥德巴赫猜想是一个数学问题,它的内容是:任何一个大于2的偶数都可以表示为两个质数的和。通过使用Python编程语言,我们可以验证这个猜想。 首先,我们需要编写一个函数来判断一个数是否为质数。一个数如果不能被小于它的平方根范围内的任何数整除,那么它就是一个质数。我们可以用这个规则来判断一个数是否为质数。 接下来,我们可以使用一个循环来遍历所有大于2的偶数,然后从中找到两个质数的和等于这个偶数。我们可以设置两个变量分别指向所有质数的集合,并从中选择两个质数进行相加。如果和等于当前的偶数,则猜想成立,输出这两个质数。 下面是一个示例代码: ``` import math def is_prime(num): if num < 2: return False for i in range(2, int(math.sqrt(num)) + 1): if num % i == 0: return False return True def goldbach_conjecture(num): primes = set() for i in range(2, num): if is_prime(i): primes.add(i) for prime in primes: if num - prime in primes: print(f"{num} = {prime} + {num - prime}") break else: print(f"{num}不能被哥德巴赫猜想验证") even_num = int(input("请输入一个大于2的偶数: ")) goldbach_conjecture(even_num) ``` 当输入一个大于2的偶数时,代码会检查它是否满足哥德巴赫猜想,如果满足,则会输出两个质数的和等于这个偶数。如果不满足,则会输出相应的提示信息。 这段代码使用了函数来判断一个数是否为质数,并使用集合来存储所有的质数。然后,通过遍历质数集合,判断两个质数的和是否等于给定的偶数。最后,根据判断结果输出相应的信息。 通过这个方法,我们可以在Python中验证哥德巴赫猜想,并找到两个质数的和等于给定的偶数。 ### 回答3: 哥德巴赫猜想是一个数学问题,提出者是德国数学家哥德巴赫。它的内容是:每一个大于2的偶数都可以表示为两个质数的和。这个问题一直以来都是数学界的悬案,至今尚未得到证明。 要用Python来解答哥德巴赫猜想,可以利用循环和条件判断来进行穷举和验证。以下是一个简单的Python代码示例: ``` def is_prime(n): if n <= 1: return False for i in range(2, int(n/2) + 1): if n % i == 0: return False return True def goldbach_conjecture(n): if n <= 2 or n % 2 != 0: print("请输入大于2的偶数!") return for i in range(2, n): if is_prime(i) and is_prime(n - i): print(n, "=", i, "+", (n - i)) break else: print("未找到符合哥德巴赫猜想的质数和!") # 输入一个大于2的偶数 num = int(input("请输入一个大于2的偶数:")) goldbach_conjecture(num) ``` 上述代码首先定义了一个用于判断某个数是否为质数的函数is_prime,其中通过循环和条件判断排除了不是质数的情况。然后定义了一个解答哥德巴赫猜想的函数goldbach_conjecture,通过两层循环和is_prime函数来找到符合猜想的质数和。最后通过用户输入一个大于2的偶数,并调用goldbach_conjecture函数来验证猜想。 需要注意的是,这个代码只是一个简单的实现示例,并不能证明哥德巴赫猜想的正确性,因为猜想本身并没有被证明。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值