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

为什么程序总是发现不了自己Bug? 程序员: 不认识他啊

程序员在普通人印象里是一份严(ku)谨(bi)职业,也是一个搞怪吐槽乐此不疲职业,程序员们面对复杂代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦根源,它就是Bug。 ?...这种汹涌澎拜斗争是经常要面对,而且显然会困扰许多软件开发人员。 2.“为什么这个脚本需要这么多库?”...“哦,天哪,以前为什么不写点注释呢?” 当涉及到比较基础前端 HTML / CSS / JS 时,我们没有必要写注释。...当我一筹莫展时,往往会选择从头开始,因为这样才有可能找到完成项目的正确道路。 为什么程序员发现不了自己 Bug? ?...作为开发就和我们成人一样看到问题总是以自己世界观来理解,导致理所当然就这样就对了,而真正真相就被隐藏了。 当程序员面对 Bug 时候,如何机智甩锅?

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

为什么进程kill掉了

这段代码非常简单,就是先用mmap方式,为该进程分配10GiB虚拟内存,然后再用page写方式,让操作系统为这10GiB虚拟内存,分配对应物理内存,最后sleep,等待我们测试。...第二次执行这个程序也没问题,但奇怪是,此时第一次执行那个程序却被kill掉了: ? 这是为什么呢?...那为什么不在第二次执行该程序时,在调用mmap分配虚拟内存时就直接报错,返回无法分配内存呢?...这也就解释了为什么上面第二次运行该程序时,mmap是没有报错。...这也就解释了,为什么上面在第二次执行那个程序时,kill掉是第一次执行那个进程,而不是第二次执行进程,因为第一次执行那个进程,占用物理内存更大。

2.4K51

为什么程序总是发现不了自己Bug?

程序员在普通人印象里是一份严(ku)谨(bi)职业,也是一个搞怪吐槽乐此不疲职业,程序员们面对复杂代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦根源,它就是Bug。 ? ?...插件是扩大任何程序或网站用户界面的伟大资源。此外,它们还为开发人员提供了一些自定义和独特选项。万一真的没有可用插件的话,为什么不自己构建一个呢? 4.“虽然网站可以工作,但我害怕 IE 浏览器。”...“哦,天哪,以前为什么不写点注释呢?” 当涉及到比较基础前端 HTML / CSS / JS 时,我们没有必要写注释。...当我一筹莫展时,往往会选择从头开始,因为这样才有可能找到完成项目 正确道路。 ? 为什么程序员发现不了自己 Bug? ?...作为开发就和我们成人一样看到问题总是以自己世界观来理解,导致理所当然就这样就对了,而真正真相就被隐藏了。 当程序员面对 Bug 时候,如何机智甩锅?

75320

程序谁干掉了?

终端产品一般部署在客户环境中,那么奇奇怪怪问题也就容易出现了。比如Windows产品进程为什么忽然停止了?这个时候稍微有些经验程序员会做出以下判断: 中型产品中,代码比较复杂。...是不是程序中有什么退出逻辑,没有注意到? 是不是程序崩溃了,比如资源不足或者代码bug? 是不是系统中其他程序关闭了我们进程?比如客户脚本或者其他软件。...是不是程序中有什么退出逻辑,没有注意到? 常见程序退出时候会有Log记录,这种情况一般通过Debug Log 结合代码审查可以进行追踪。 是不是程序崩溃了,比如资源不足或者代码bug?...当然如果是Crash,最好方式还是通过收集dump来进行确认,可以参考之前写过一篇文章>,然后再通过Windbg进行分析,可以参考<<Windbg分析程序崩溃实践...是不是系统中其他程序关闭了我们进程? 这个看似是最难查找了,用户环境纷繁复杂。但是Windows调试工具集中gflags可以满足我们需求。

54120

在大厂为什么裁员总是普通员工而不是领导?

但是公司不景气,导致业务线裁掉了,那么第一个总是一线业务线普通开发,这个时候老员工和领导总是能够很好躲过去,而避免自己在没有找到下家之前而裁掉。...在老板眼中,领导干部才是他所认为核心? 在老板眼中,领导干部才是他所认为核心?这个是不认同,但是不是老板,也许这个可能就是不能当老板原因吧!...从老板视角去看问题,他总是第一时间找到负责相关业务负责人,也就是领导,他肯定不会找普通员工,且这样也是最高效。...最后,除非这个领导边缘化了,且他手上掌握资源已经全部相关责任人替代了。...其实这个也是为什么领导总是喜欢带领自己团队多做项目,并让自己团队去承担更多产品,这样做目的也是为了提高自己价值,让自己手上拥有更多去找老板要资源业务牌。

19720

为什么网页总是卡?前端性能优化规则要点

一说到页面的性能优化,大家可能都会想起雅虎军规、2-5-8原则、3秒钟首屏指标等规则,这些规则在开发过程中不是强制要求,但是有时候为了追求页面性能完美和体验,就不得不对原有的代码进行修改和优化。...下面整理出一些常用性能优化要点,同时再罗列一下雅虎军规、2-5-8原则、3秒钟首屏指标这三个常用规则要点。...「首屏加载」:首屏快速显示可大大提升用户对页面速度感知,应尽量针对首屏快速显示做优化 「按需加载」:将不影响首屏资源和当前屏幕不用资源放到用户需要时才加载,可大大提升显示速度和降低总体流量(「...增加响应变化时间间隔:减少重绘次数 「GPU加速」:使用某些HTML5标签和CSS3属性会触发GPU渲染,请合理使用(「过渡使用会引发手机耗电量增加」) HTML标签:video、canvas、webgl...」:过多font-size影响CSS树效率 「值为0时不需要任何单位」:为了浏览器兼容性和性能,值为0时不要带单位 「标准化各种浏览器前缀」 无前缀属性应放在最后 CSS动画属性只用-webkit

1.7K20

为什么程序总是写糟糕代码?这3个原因

最近一直在想我们作为一个行业为什么总是产出糟糕代码原因。...1.明显原因…… 一下子想到最明显原因是,有好程序员,也有不那么好程序员,有的人技术水平高,有的人水平却低,有人对这门技艺感兴趣,但也有的人却不愿意在工作之外学习其他。...2.低预期…… 对于这一点,众所承认是,我们在大学中,通过自学或书籍学到东西,并不能匹配现实世界真正需求。 因此,可以想象初学者总是需要在工作中学习如何产出好代码。...试问,哪家医院会聘用一个以前没有做过手术医生,或者说,哪家航空公司会雇用一个不会紧急降落飞行员?我们根本不能接受这样医生和飞行驾驶员。那么,为什么软件行业要接受低质量程序员呢?...对于接下来要讲的话题,具体书名就不说了。 不幸是,初学者参考那些书籍总是在不经意间准确描绘了差代码应该是怎么样。 任何编程语言初学者书籍,大多满是坏代码。

1.1K80

为什么程序总是写糟糕代码?这3个原因

最近一直在想我们作为一个行业为什么总是产出糟糕代码原因。...1.明显原因…… 一下子想到最明显原因是,有好程序员,也有不那么好程序员,有的人技术水平高,有的人水平却低,有人对这门技艺感兴趣,但也有的人却不愿意在工作之外学习其他。...2.低预期…… 对于这一点,众所承认是,我们在大学中,通过自学或书籍学到东西,并不能匹配现实世界真正需求。 因此,可以想象初学者总是需要在工作中学习如何产出好代码。...试问,哪家医院会聘用一个以前没有做过手术医生,或者说,哪家航空公司会雇用一个不会紧急降落飞行员?我们根本不能接受这样医生和飞行驾驶员。那么,为什么软件行业要接受低质量程序员呢?...对于接下来要讲的话题,具体书名就不说了。 不幸是,初学者参考那些书籍总是在不经意间准确描绘了差代码应该是怎么样。 任何编程语言初学者书籍,大多满是坏代码。

97860

为什么总是写不出正确、高效并发程序?| 极客时间

虽然搞了多年 Java,可许多朋友一提到“并发”就头疼: 为什么已经学习了很多相关技术,可还是搞不定并发编程? 小公司根本遇不到并发问题,高并发经验该怎么积累?平时该怎么学习?...有这些困惑很正常,因为并发编程是 Java 语言中最为晦涩知识点,它涉及操作系统、内存、CPU、编程语言等多方面的基础能力,而这些知识点看上去非常零散、独立,可实则关联性又比较强,更为考验一个程序内功...并发编程优势是可以提高程序执行效率和资源利用率,短板和难点是它会涉及线程通信、同步互斥等等相关问题。那我们应该怎么学习并发编程呢?是不是一上来就去看 Java SDK 并发包?...你知道,这些工具都是并发大师 Doug Lea 设计,这背后都隐藏着他对并发问题深刻认识。有宝令带你解读,你会有意想不到收获。 为什么推荐这个专栏? 非常落地,带你掌握解决并发问题关键。...另外,极客时间不止一次推荐过,平台内容以及讲师都非常厉害。吸收他人经验,提高自己“解决问题”能力,无疑是个人成长和提升职场竞争力最快方式。

14.9K20

为什么程序总是写糟糕代码?这3个原因

最近一直在想我们作为一个行业为什么总是产出糟糕代码原因。...1.明显原因…… 一下子想到最明显原因是,有好程序员,也有不那么好程序员,有的人技术水平高,有的人水平却低,有人对这门技艺感兴趣,但也有的人却不愿意在工作之外学习其他。...2.低预期…… 对于这一点,众所承认是,我们在大学中,通过自学或书籍学到东西,并不能匹配现实世界真正需求。 因此,可以想象初学者总是需要在工作中学习如何产出好代码。...试问,哪家医院会聘用一个以前没有做过手术医生,或者说,哪家航空公司会雇用一个不会紧急降落飞行员?我们根本不能接受这样医生和飞行驾驶员。那么,为什么软件行业要接受低质量程序员呢?...对于接下来要讲的话题,具体书名就不说了。 不幸是,初学者参考那些书籍总是在不经意间准确描绘了差代码应该是怎么样。 任何编程语言初学者书籍,大多满是坏代码。

69530

为什么程序总是写糟糕代码?这3个原因

最近一直在想我们作为一个行业为什么总是产出糟糕代码原因。...1.明显原因…… 一下子想到最明显原因是,有好程序员,也有不那么好程序员,有的人技术水平高,有的人水平却低,有人对这门技艺感兴趣,但也有的人却不愿意在工作之外学习其他。...2.低预期…… 对于这一点,众所承认是,我们在大学中,通过自学或书籍学到东西,并不能匹配现实世界真正需求。 因此,可以想象初学者总是需要在工作中学习如何产出好代码。...试问,哪家医院会聘用一个以前没有做过手术医生,或者说,哪家航空公司会雇用一个不会紧急降落飞行员?我们根本不能接受这样医生和飞行驾驶员。那么,为什么软件行业要接受低质量程序员呢?...对于接下来要讲的话题,具体书名就不说了。 不幸是,初学者参考那些书籍总是在不经意间准确描绘了差代码应该是怎么样。 任何编程语言初学者书籍,大多满是坏代码。

85300

这段C语言程序虽然很简单,但是工作多年同事还是弄错了

前两天,圈子里发了一个小问题,相关C语言代码如下,这段程序会输出什么呢?...有程序员认为研究这样代码没有意义,无异于孔乙己“茴”字有几种写法。 这个问题其实并不是空想出来。 这个问题其实并不是空想出来。...最近,一个同事被他C语言程序 bug 困扰了好几天,始终无法找到问题究竟出在哪里,于是找我,看到他C语言代码混用了无符号变量和有符号变量,于是就提醒他注意这个方面,后来发现果然是这个原因。...C语言是一门极其重视基本功编程语言,这些题目很能查漏补缺。 分析 现在来考虑上面这段C语言代码,我们编译并执行它,得到了下面的输出: # gcc t.c # ....现在再来分析变量 c 和变量 d 值,它俩都是有符号型 int 型。按理说,a 和 b 在内存中布局是一样,都是 8 个 bit 1,为什么传递给 c 和 d 就不一样了呢?

52300

为什么程序有bug(一):逻辑篇

本来是希望 when <10 之后应该continue,在写第一个when<0时候头脑还是很清晰。但是呢,当写第二个时候就用四肢写代码了,习惯性打了个return。...} 这里本来意思针对请求类型不同进行处理,但是我们在进行对比时候,用Request类型和Response类型进行比较,显然存在问题。...这种问题在进行ReView代码时候还常常想当然认为是OK。...accountService == null){ waitBind();//等待绑定成功、然后跨进程获取数据 } Info info = pushService.aidlGetInfo(); } 发现这个问题现象是程序刚启动时随机出现几次...但是,我们在清除accountID时只清除了数据库,没有清除缓存,再次登录时候用缓存值。这样就会导致程序陷入了死循环。所以在进行存储操作时,需要考虑好同步问题。

90920

为什么要创建一个不能实例化

但如果有一天,你发现写了这样一个类: class People: def say(self): print(f'叫做:{self.name}') def __new...一个不能初始化类,有什么用? 这就要引入我们今天讨论一种设计模式——混入(Mixins)。 Python 由于多继承原因,可能会出现钻石继承[1]又叫菱形继承。...为了保留多继承优点,但又摒除缺点,于是有了混入这种编程模式。 Mixins 是一个 Python 类,它只有方法,没有状态,不应该被初始化。它只能作为父类继承。...不同 Mixin 方法互不重叠。...显然,这样写会报错,因为两个类实例是不能比较大小: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指某人年龄比另一人年龄大。

3.4K10

程序员给心意企业打电话拒后失声痛哭:为什么不录用

无独有偶,一名网友在上海张江软件园某星巴克店内见到了心酸一幕:看到一个右手有缺陷程序员,给他意向企业打电话说为什么没有录用他,他哭很哽咽,能感受到他内心撕心裂肺。...如下便是该网友曝光心酸一幕,一名程序员坐在星巴克门口,正在跟心意企业打电话,当得知自己没有录取时,其内心崩溃了,失声痛哭哽咽起来,他这一举动引起了店内人员注意,发帖楼主作为过来人,能够理解他这番心情...如下是另外一名网友观点:给面试公司打电话问进展和打电话问对象分手理由一样,纯粹是找虐,不够成熟做法,别人只会更看不起你,好像非得去他那一样,找了两个月工作,拒了无数次,从不问结果和原因,不信找不到工作...不知道各位读者朋友如何看待此事,在小编看来,该程序员本身相比于其它正常人来说有一些身体缺陷,加之正在找工作阶段,心意企业拒绝滋味肯定不好受,许多人应该经历过找工作拒绝痛苦和焦虑,压力不是一般大...最后,祝福这名程序社会温柔以待吧,阳光总在风雨后,回过头来看看,这些都是小事,不值一提。

39620

为什么数据库应用程序这么慢?

当您应用程序运行缓慢时,反射操作是指责数据库查询。 毫无疑问,一些更为奢侈拖延可能会因为缺失指数或不必要锁定而指责,但还有其他潜在恶作剧,包括网络和应用本身。...专注于一个小型可重复工作流将让您隔离问题。 接下来问题当然是为什么要花10秒钟?缩小问题第一个也是最简单方法是将应用程序尽可能靠近SQL Server,在同一台机器上或在同一个LAN上运行。...如果应用程序仍然需要10秒钟时间来加载结果,那么恭喜,您再次消除了4个问题中2个!现在,您需要查看处理时间大部分在哪里。 我们来仔细看一下如何解决这段时间大部分消费地方。...首先通过捕获工作流Profiler跟踪,只需使用“标准(默认)”跟踪模板。 确保没有其他东西在同一时间触发数据库,所以你只捕获你流量。...这两种最常见方法是: 重写代码 - 例如,您可以聚合和过滤服务器上多个数据集,以避免每个数据集进行查询,尽管并不总是更改应用程序 使用查询预取和缓存 - 有一些WAN优化工具可以做到这一点,但它们有时是昂贵

2.2K30

程序员提了个吹水建议,怼了!

程序员:不可以!我们要讲就讲干,不要水……!...(二)“云开发最新进展是什么,技术人要怎么跟进” 作为腾讯云推出一款面向Web、小程序、移动应⽤开发综合类技术产品,云开发能力也在不断进化,未来会延伸到企业业务所有领域吗?...(四)“有最佳实践可以参考不,学习下先” 有的,你可能没想到,腾讯云上使用云开发和微搭低代码开发者已达数百万,成为国内最大Serverless开发平台。...(五)“比较喜欢现场coding,能去现场workshop吗” 考虑到疫情和时空距离,我们比较希望你可以在线上和我们一起感受这个技术人盛会,但是,如果一切ok的话,也欢迎来现场交流,我们会场在...鹅厂云开发和微搭技术专家,也将在现场进行技术workshop,手把手指导大家如何开发小程序

26310
领券