首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序出现bug是必然出现的情况还是程序猿水平有限导致的?

这都是没有职业修养的表现,QA测出bug你不背锅谁背锅! 业务逻辑bug:通常源自需求沟通出现问题,这往往是所有人同时出问题,而不是某一个地方出现问题。...bug数量和系统复杂度和开发时长成正比,程序员对系统的熟悉程度成反比。水平再高的程序员扔到一个非常复杂开发了十几年的系统里,照样容易出bug。...人类不是个很靠谱的东西,总会有随机错误,即使打字录入这么简单的事情都有1-3%的错字,何况写源代码这种比打字难得多的事情。...在研发成本投入足够,开发商也重视质量的前提下,bug数量主要取决于测试,而测试是否充分主要是需求决定的。也许会有个别程序员水平欠佳,但是在测试充分的时候他们很快会被发现。...要说bug~程序员天生不就是来创造bug然后解决bug的吗? PS:最最大的bug是,明明程序运行的好好的,但项目失败了。你叫程序员怎么查?我只是个搬砖的,大厦为什么会倒,我哪知道啊~

66240

程序出现bug是必然出现的情况还是程序猿水平有限导致的?

原文链接地址:程序出现bug是必然出现的情况还是程序猿水平有限导致的? 在不长的计算历史上,还没有人写过没有bug的完美软件,不大可能你会成为第一个做到这一点的人。...这都是没有职业修养的表现,QA测出bug你不背锅谁背锅! 业务逻辑bug:通常源自需求沟通出现问题,这往往是所有人同时出问题,而不是某一个地方出现问题。...bug数量和系统复杂度和开发时长成正比,程序员对系统的熟悉程度成反比。水平再高的程序员扔到一个非常复杂开发了十几年的系统里,照样容易出bug。...人类不是个很靠谱的东西,总会有随机错误,即使打字录入这么简单的事情都有1-3%的错字,何况写源代码这种比打字难得多的事情。...在研发成本投入足够,开发商也重视质量的前提下,bug数量主要取决于测试,而测试是否充分主要是需求决定的。也许会有个别程序员水平欠佳,但是在测试充分的时候他们很快会被发现。

68100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VBA调用外部对象01:字典Dictionary(统计数据出现的次数)

    前面说过了字典去除重复的使用方法,既然字典可以去除重复,那就可以统计数据出现的次数,现在我们来说说如何利用字典来做到这个。...前面去除重复我们是直接更新Key的Item属性,利用的是字典不会保存重复Key的特点。 我们当时并没有特别注意Item的值,是直接使用了数据所在的行号,而且没有使用到这个Item的值。...统计数据出现的次数就是要使用到字典的Item值。...要统计数据出现的次数,因为字典是不会有重复的Key的,我们直接把Item的值加1就行了,这个时候是有2种情况: 不存在的Key:这个时候Item也不存在,也就是vbEmpty,CLng转换vbEmpty...的Item的值为0,所以+1正好是第一次出现 存在的Key:这个时候就好理解了,首先会取出这个Key的Item值,也就是前面已经出现过的次数,然后再+1,再更新这个Key的Item 所以直接更新Item

    3.1K40

    当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序是:

    目录 1 编写顺序 1 编写顺序 当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序是: 1.执行where xx对全表数据做筛选,返回第1...3.针对第2个结果集中的每1组数据执行select xx,有几组就执行几次,返回第3个结果集。 4.针对第3个结集执行having xx进行筛选,返回第4个结果集。 5.针对第4个结果集排序。...Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。...-- 3、查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩 select b.s_id,b.s_name,ROUND(AVG(a.s_score),2) as avg_score from...score a on b.s_id = a.s_id GROUP BY b.s_id,b.s_name HAVING avg_score >=60; 根据题意,需要用到信息表 成绩表 首先查出有成绩的学生

    84320

    按出现次数从少到多的顺序输出数组中的字符串

    "Liu Yi", "Chen Er", "Zhang San", "Chen Er", "Chen Er", "Li Si", "Li Si", "Wang Wu"}, 要求: (1)把数组中没重复的字符串按原先的先后顺序打印出来...(2)把数组中有重复的字符串,按出现次数从少到多的顺序打印出来,每个字符串只打印一次 思路 C++中,vector按先后顺序存储数据,因此可把没重复的字符串按顺序存到vector中。...map默认是按key从小到大的顺序存放数据,所以可把有重复的数据存到map中,并且以出现次数为key,以字符串为value 代码 #include #include 顺序放到vector中 v.push_back(s[i]); } else { // 出现多次的,放到map...中,以次数为key,字符串为value m[count] = s[i]; } } // 把map中的字符串,按出现次数从少到多的顺序,加到vector

    2.5K60

    华为oj之字符统计(按出现次数由多到少的顺序进行输出)

    实现以下接口: 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用) 按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出 清空目前的统计结果...,重新统计 调用者会保证: 输入的字符串以‘\0’结尾。...输出描述: 对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出。如果有其他字符,则对这些字符不用进行统计。...37&tqId=21325&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking 分析: 使用一个hash表(unordered_map)存储 出现次数...> 的键值对, 然后按出现次数count进行排序(C++算法库中的sort函数), 排序时注意当统计的个数相同时, 按照ASII码由小到大顺序输出.

    1.3K30

    按出现次数从少到多的顺序输出数组中的字符串(纠正)

    "Liu Yi", "Chen Er", "Zhang San", "Chen Er", "Chen Er", "Li Si", "Li Si", "Wang Wu"}, 要求: (1)把数组中没重复的字符串按原先的先后顺序打印出来...(2)把数组中有重复的字符串,按出现次数从少到多的顺序打印出来,每个字符串只打印一次 思路 把字符串作为key、出现次数作为value,存到map中; 再把第一个map中的出现次数作为key、对应的字符串作为...value,存到map<int, list 算法的时间复杂度为N。...,而不是用新生成的list li = m2[cnt]; } if(cnt > 1) { // 若重复次数从...n变为n+1(这里n大于或等于1) // 要把元素从n所对应的list中移出,放到n+1所对应的list中 list oldList =

    2.2K70

    跟着存档教程动手学RNAseq分析(三):使用DESeq2进行计数标准化

    img 除了许多不关心因素之外,每个基因的比对reads计数与RNA的表达成正比。标准化是对原始计数值进行缩放以解释无关因素的过程。通过这种方式,表达水平在样本之间和/或样本内部更具有可比性。...步骤4:使用归一化因子计算归一化计数值 这是通过将给定样本中的每个原始计数值除以该样本的标准化因子来生成标准化计数值来实现的。这是对所有计数值(每个样本中的每个基因)执行的。...这需要几个步骤: 确保出现元数据数据框有行名,并且与计数数据框的列名顺序相同。 创建一个DESeqDataSet对象。 生成标准化计数 1....匹配元数据和计数数据 我们应该始终确保示例名称在两个文件之间匹配,并且示例的顺序正确。如果不是这样,DESeq2将输出一个错误。...对于我们的数据集,我们只对一个列感兴趣,即~sampletype。这一栏有三个因子水平,它告诉DESeq2,对于每个基因,我们想要评估这些不同水平的基因表达变化。

    3.3K22

    新基建下的机器人产业:低水平重复造轮结束,“底座”型平台出现

    一方面,新基建催生产业需求急速膨胀,企业生产运营的自动化、智能化水平都在提高,商业化市场迎来快速增长;另一方面,劳动力成本的提升和人口老龄化,在宏观上倒逼机器人产业加速发展,成为契合时代需求的趋势。...这个过程中,产品之外,产业“底座”型平台开始出现,过去“低水平重复造轮子”的问题也在被改变。...在新基建到来的关口,此类“新基建”的“基建”型平台,也正在机器人领域出现,科技巨头在自身锤炼场景和产品核心能力后,抽离基础能力开放出来。...02 “底座”型平台出现,从四个方面改变机器人行业 如果对比互联网,机器人行业可以说是一个很“古老”的行业,但它的发展很多年来却有些步履迟缓,即便老牌明星企业也面临不能很好变现的尴尬现实。...散兵游勇式的行业格局注定不能匹配未来竞争,底层产业基石与操作系统底盘的出现,算是为机器人未来竞争开了一个好头。

    41420

    RNA-seq 详细教程:搞定count归一化(5)

    归一化是调整原始计数值以解决“无关”因素的过程。以这种方式,表达水平在样本之间或样本内更具可比性。在归一化过程中经常考虑的“无关”因素:1.1....在下面的示例中,假设样本 A 和样本 B 之间的测序深度相似,并且除了基因差异表达之外的每个基因在样本之间呈现相似的表达水平。样本 B 中的计数会受到 差异表达基因的极大影响,它占据了大部分计数。...使用归一化因子计算归一化计数值这是通过将给定样本中的每个原始计数值除以该样本的归一化因子来执行的,生成归一化计数值。这是针对所有计数值(每个样本中的每个基因)执行的。...数据匹配我们应该始终确保样本名称在两个文件之间匹配,并且样本的顺序相同。如果不是这种情况,DESeq2 将输出错误。...此列具有三个因子水平,它告诉 DESeq2 对于每个基因,我们要评估相对于这些不同水平的基因表达变化。我们的计数矩阵输入存储在 txi 列表对象中。

    1.8K30

    RNA-seq 详细教程:搞定count归一化(5)

    归一化是调整原始计数值以解决“无关”因素的过程。以这种方式,表达水平在样本之间或样本内更具可比性。 在归一化过程中经常考虑的“无关”因素: 1.1....在下面的示例中,假设样本 A 和样本 B 之间的测序深度相似,并且除了基因差异表达之外的每个基因在样本之间呈现相似的表达水平。样本 B 中的计数会受到 差异表达基因的极大影响,它占据了大部分计数。...;不适用于样本比较或差异表达分析 DESeq2’s median of ratios 计数除以特定于样本的大小因子,该因子由基因计数相对于每个基因的几何平均值的中位数比率确定 测序深度和RNA组成 样品之间的基因计数比较和差异表达分析...使用归一化因子计算归一化计数值 这是通过将给定样本中的每个原始计数值除以该样本的归一化因子来执行的,生成归一化计数值。这是针对所有计数值(每个样本中的每个基因)执行的。...此列具有三个因子水平,它告诉 DESeq2 对于每个基因,我们要评估相对于这些不同水平的基因表达变化。 我们的计数矩阵输入存储在 txi 列表对象中。

    1.2K20

    R语言基础教程——第3章:数据结构——因子

    > nlevels(student$Gender) [1] 2 使用factor函数创建因子,可以使用labels参数为每个因子水平添加标签,labels参数的字符顺序,要和levels参数的字符顺序保持一致...=c('female','male'),ordered=TRUE) > is.ordered(sex) [1] TRUE 因子的顺序,实际上是指因子水平的顺序,有序因子的因子水平是有序的。...在特殊情况下,有些因子的水平在语义上大于或小于其他水平,R支持按顺序排列的因子,使用ordered函数,或通过给factor函数传入order=TRUE参数,把无序因子转换为有序的因子。...ordered()函数不能指定特定因子水平的顺序,通常情况下,因子中先出现的水平小于后出现的水平。...,其实是因子水平的顺序,我们可以通过levels,使现有的因子按照指定的因子水平来排序。

    4.4K30

    给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序,如果不同的单词有相同出现频率,按字母顺序排序。

    题目要求 给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。...输入: [“i”, “love”, “leetcode”, “i”, “love”, “coding”], k = 2 输出: [“i”, “love”] 解析: “i” 和 “love” 为出现次数最多的两个单词...注意,按字母顺序 “i” 在 “love” 之前。...“sunny”, “is”, “is”], k = 4 输出: [“the”, “is”, “sunny”, “day”] 解析: “the”, “is”, “sunny” 和 “day” 是出现次数最多的四个单词...(map.keySet()); //3.按照刚才的字符串出现次数,进行排序 //sort 默认按照升序排列 //此处需要按照字符串出现次数降序排列,也就是通过比较器来自定制比较规则

    1.7K30

    每日一题《剑指offer》数组篇之统计数字在排序数组中出现的次数

    今日题目链接:数字在升序数组中出现的次数 数字在升序数组中出现的次数 难度:简单 描述 给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数 数据范围 0≤n...以题目中给的数组为例,一个比较自然的想法是用二分查找先找到一个3,由于要计算的是输出的次数,所以需要在找到的这个3的左右两边分别再进行顺序扫描,进而得到3的个数,这样最坏的情况下时间复杂度仍然是O(n)...,和直接顺序扫描的效率相同。...因此,需要考虑怎样更好的利用二分查找算法,由于数组有序,如果知道了第一个k出现的位置和最后一个k出现的位置,那么我们就可以直接算出有多少个k。...以第一个k出现的位置为例,利用二分查找算法可以直接对数组进行二分,而每次总是拿中间的数字和k做比较,如果中间的数字大于k,那么第一个k只有可能出现在左边,下一次直接在数组左半段继续进行二分查找;如果中间的数字小于

    18040

    RNA-seq 详细教程:Wald test(10)

    对比可以用两种不同的方式指定(第一种方法更常用): 对比可以作为具有三个元素的字符向量提供:设计公式中(感兴趣的)因素的名称,要比较的两个因素水平的名称。最后给出的因子水平是比较的基准水平。...contrast <- list(resultsNames(dds)[1], resultsNames(dds)[2]) results(dds, contrast = contrast) 或者,如果你只有两个因子水平...在这种情况下,DESeq2 将根据水平的字母顺序选择您的基本因子水平。 首先,我们要评估 MOV10 过表达样本和对照样本之间的表达变化。...在进行差异表达分析之前,忽略那些很少或根本没有机会被检测为差异表达的基因是有益的。这将增加检测差异表达基因的能力。 DESeq2不会从原始计数矩阵中删除任何基因,因此所有基因都将出现在您的结果表中。...通常,我们希望在整个表达水平范围内看到重要的基因。 ----

    90720

    RNA-seq 详细教程:Wald test(10)

    对比可以用两种不同的方式指定(第一种方法更常用):对比可以作为具有三个元素的字符向量提供:设计公式中(感兴趣的)因素的名称,要比较的两个因素水平的名称。最后给出的因子水平是比较的基准水平。...contrast 因子水平...在这种情况下,DESeq2 将根据水平的字母顺序选择您的基本因子水平。首先,我们要评估 MOV10 过表达样本和对照样本之间的表达变化。...在进行差异表达分析之前,忽略那些很少或根本没有机会被检测为差异表达的基因是有益的。这将增加检测差异表达基因的能力。 DESeq2不会从原始计数矩阵中删除任何基因,因此所有基因都将出现在您的结果表中。...通常,我们希望在整个表达水平范围内看到重要的基因。

    1.3K40
    领券