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

程序员翻车时 30 种常见反应

本文列出了程序员在修复 bug 时可能会说一些话或者想法。敢说很多程序员都曾经历过编程艰辛,但在事后都会一笑而过。 1....“不知道该把它删掉还是该重写” 看着旧代码,你总有一种想要重写它们冲动。丑陋逻辑语句和啰嗦语法极大降低了代码可读性!但是,如果代码跑得好好为什么要去修改它们呢?...开发者们加入这个网站,已有的项目拉取分支,在 wiki 讨论,或者创建自己代码库。网站提供了很多很好插件和模板,可以被用在各种各样项目中。 3. “为什么这个脚本要用这么多库?”...“要在谷歌一下这个错误消息” 在做了多年 PHP 开发之后,不得不说谷歌是好朋友。...“多么希望数据库做过备份……” 在开发和调试代码时,并不总是会想到数据库做备份。但是,数据备份提供了一个保障,在做出某些变更之前可以及时回退。

49110

【前端 · 面试 】JavaScript 之你不一定会基础题(二)

最近在做前端面试题总结系列,感兴趣朋友可以添加关注,欢迎指正、交流。 争取每个知识点能够多总结一些,至少要做到在面试时,针对每个知识点都可以侃起来,不至于哑火。...对于这个答案中第二次输出结果,有人出了疑惑:为什么 parent 事件触发时,e.target.id 结果为 child呢?不应该是 parent ?...在冒泡阶段,恰恰相反: 浏览器检查实际点击元素是否在冒泡阶段中注册了一个onclick事件处理程序,如果是,则运行它 然后它移动到下一个直接祖先元素,并做同样事情,然后是下一个,等等,直到它到达<...,所以,不仅会执行 function2,之后还会执行 function1,这样结果可能不是我们所期望,我们更希望它们点击事件之间互不影响。...主流浏览器默认在冒泡阶段进行事件注册,所以,只有阻止冒泡方法没有阻止捕获方法。

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

奇葩能让程序员抓狂一些问题

教我写代码,并帮助我找工作: 对于那些想要学习新技能从而改善生活的人来说,这样想法无可厚非,也表示支持。但老实说,没有人有时间和耐心去免费教那些完全是一张白纸的人。...所以对于客户来说, 只管提出想法即可,不要轻易评估实现这个想法难度,评估工作还是交给我们专业开发人员吧。 噢!你是程序员?你帮我一下打印机?: 请记住,程序员不是电子设备修理工!...二、 日常生活中充满了各种令人无语的话题,包括发生在普通人中、父母亲人中…… 情景1:不懂编程普通人和程序员 普通人:系统扬声器出了点问题,有一侧音频无法工作了。你帮我一下?...为了实现这个庞大逻辑体,需要花费大量时间和精力来思考和实现。如果你对编程没有基本理解,请不要提这个问题。 女生也当程序员? 醒醒吧,现在已经是21世纪了!...很多非专业人士过度关注界面效果,不在意系统性能。实际前端界面添加动画效果是很容易但是并没有太大用处事情。正如我一位程序员朋友所说:“有些人不理解系统后端,只关注客户端效果。

59430

作为前端,对业务一点理解

C++代码来,但在前端很难发生这种事情,稍微勤快点应届生毕业半年就不该再写有语法错误前端代码了,有bug基本也都是业务逻辑bug,一个五年工作经验C++程序员和一个只有一年工作经验C++程序员...,然而在这种环境下,反而加速提升了对于业务理解,也明白了为什么之前那么多人跟我说业务很重要,但没有一个人教会到底什么是业务,因为这个东西真的很难说清楚,或者换句话说,其实每天都有人跟你说什么是业务...),都是业务能力 前端如何赋业务 肯定有人会吐槽说了半天还是啥都没说,没错,确实是这样,对始终不明白业务是什么的人来说,别人说得再多也很难理解,对于已经理解的人来说,业务就是业务,根本没什么可说,...量化一点地说,就是网上正常场景下任意前端面试题,你有 80% 以上把握答出来,可以实现工作提出来任意前端需求,能够保证自己所写代码项目的稳定性和可扩展性,前端领域新出现技术你都能快速上手并且理解其原理...所以,一定要多跟外界进行交流,一方面是为了能从外界获取更多信息,另外一方面则是让其他人知道你在做什么事情 ~(至于为什么要让其他人知道你在做什么事情,这个各位自行领悟)~ 用数据说话 作为前端,你可以提需求

75620

Geoffrey Hinton 最新访谈:不出五年,我们就会破解大脑运作机制,但不是通过反向传播

想说是,很多研究人员知道这个,但可能不是每个人知道Alex结果和Ilya之前在ImageNet图像识别竞赛工作相比错误率降低了一半。...你需要对科学有信念,愿意去研究那些显然正确东西,即使其他所有人都说那是胡说八道,而且事实并非所有人那么认为。在70年代初,研究AI几乎所有人认为(东西)是胡说八道。...不朽代价是巨大,因为这意味着不同位硬件必须做完全相同事情,这显然是在做完所有错误校正之后零点校正。...打个比喻,如果你有一棵盆栽植物,你把它从花盆里拔出来,会得到一团球状根部,这正是花盆形状,所以所有不同盆栽植物都有相同形状根部,根系细节都不一样,但它们在做同样事情它们从土壤中提取养分...所以它们会更容易犯和我们一样错误不会犯那些不同寻常错误。举个例子,如果你有一辆自动驾驶汽车,它犯了一个任何正常人类司机都会犯错误,这似乎比犯一个非常愚蠢错误更容易被接受。

32910

理清 Activity、View 及 Window 之间关系

希望帮你梳理清楚他们各自工作职责,以及是因为什么需求导致了它们出现。...让View接替Window工作,把Window所做事情封装到View里面不好嘛?(至少免去了我们去理解抽象Window,,,,O__O "…)。...或许又有人说,View负责绘制显示内容,Window负责管理View,各自工作职责不同。可是想说,Window所做大部分工作,View里面都有同样(或类似)处理。这依然无法说服!...既然如此,Window(以及View)处理点击事件以及封装各种逻辑,那为啥还需要Activity呢?...无需关注其他细节,默认帮我们写好了,针对需要定制部分我们重写(设计模式为:模板方法模式)。 最后,如果有理解错误,也欢迎大家纠正。我会针对大家意见,不断更新修改。

1.2K90

拜托,别再干这件蠢事了!

,这让想起了之前看到一篇文章,觉得它把为什么不用僵尸代码几个点总结非常好,在此基础作了一些修改分享大家 所谓僵尸代码是指很多被注释代码,为什么它们为僵尸代码?...这有助于人们理解程序,更快阅读代码,防止我们因为误解写出有问题代码。僵尸代码直接对抗代码理解性。它拖延我们阅读和维护代码速度,因为它使我们在屏幕看到更少有效代码。...试想一下,你是一个来维护程序程序员,突然看到了一片注释掉代码,程序就在这附近出了问题。这个程序员任务会变得更棘手。他需要阅读和理解这些注释掉代码,了解注释它们带来影响。...然而,当一个类或方法包含有大量僵尸代码时,事情就不好处理了。如果重构这段程序,是否还要参考注释掉代码?它们近期将会被重新使用?它会影响新版实现?...当你再想把注释掉代码复活时,它们很可能根本不能编译。 有例外? 没有。很明确。有人会说“现在注释它们是因为过会儿就要恢复它们。”

54320

谷歌反“背锅”文化

有人认为“问责”是指因为错误决定受到惩罚,或者是必须面对自己行为后果。Brush 则认为,“问责”是组织保证你会被根据自己为所负责事情做出相关行为,所产生后果进行评估。...为了保证这类事件不再发生,企业把工作任务交给背锅的人,让他们写报告,把所有事情承包了。很多时候,除了这些工作,企业还会再加上一些可怕流程,比如到领导面前解释发生一切,可能还会再挨两句骂。...这本书中,还探讨了人们会因为什么才会更快乐。人们不会因为升职加薪或是其他什么原因而更快乐,因为这类事情发生频率太低了,所以它们不是个好激励因素。...或许企业会以为这样激励工程师,大家一个强烈目标和使命,大家就会自然而然地做正确事。但这实际,这样方式非常打消大家积极性。...一些组织花费了大价钱编写培训内容并让所有员工都去上课,祈祷着人们记住教训,并在下次同样事情发生时长记性,但同样事并不会再次发生。不要指望通过培训让人们掌握所有知识并做出正确决策。

14620

软件架构师12项修炼——关系技能修炼(2)——领导力、政治

后者是一种捕捉共识基本细节方法。 这种方法运用系统逻辑、 开发、 过程和物理视角(即 "4+1"中 "4")将用例作为它们之间 “胶水”,并描述架构 (即 "4+1"中 "1")。...有人散布了谣言? 是不是有些信息没能传达到那些需要它们的人手里? 找到这些问题根源, 有助于你为下一个项目做出更周全准备。 从错误和失败中尽可能地学到东西。 不要让负面的经历再次发生。...我会考虑使用 Philippe Kruchten "4+1''架构视角模型,作为要展示信息基础。工作中,会将演示内容村简到10张幻灯片, 其中包含了一系列图片和图表, 我会口头地说明它们。...作为架构师,你能做最重要一件事情就是理解工作政治环境。在真实意义,它让你知道处于商业中复合环境哪个位置。理解这个环境会简化你决策操作,引导你为项目建立起政治可行认知。...这改进客户对你产品体验? 5.3.5 不关我将这种处境称为 “不关我事" (Not My Problem, NMP)。 不能搞定这个世界所有问题。

53030

《常年写代码程序猿转为管理后经常会犯哪些错误?》

来到现在公司基本还是做同样事情,只是项目规模不一样。...五、工作重点、目标不明确 有些经理太过关注当下急需解决事情缺乏远虑和远见。每天都在忙于处理各种突发紧急问题,做都是紧急不重要事情。...如果他这样回答,就好很多,也体现了作为一个领导担当: “领导,这次问题都是对项目风险预估不足,中间出了些问题,好在我们团队的人非常力,连续加了好几天班,大家一起处理好了,已经及时上线了,延期了几天上线...好领导认为一般具备以下几个特点: 能力、技术水平极为突出 情商非常高,有亲和力,所有人和他相处感觉很舒服 帮助团队成员成长 非常有担当 做事条理清晰、逻辑思维缜密 良好心态 很少有负面情绪 员工心里面喜欢什么样领导...: 1.帮我解决碰到技术难点 2.能给我工作提供思路和方法 3.跟着他可以学习提高技术 4.帮我争取涨工资 5.出了问题可以帮我顶雷 所以综上总结:团队建设最核心两点我认为是尊重和帮助他们成长

21320

你《提问智慧+如何有效地报告Bug》了吗?

因此,问“想更好理解X,能给点提示?”通常比问“你能解释一下X?”更好。如果你代码不能工作,问问它有什么地方不对,比要求别人替你修改要明智得多。...---------------- 去除无意义疑问 ---------------- 别用无意义的话结束提问,例如“有人帮我吗?”或者“有答案?”。...首先:如果你对问题描述不很合适,这样问更是画蛇添足。其次:由于这样问是画蛇添足,黑客们会很厌烦你--而且通常会用逻辑正确回答来表示他们蔑视,例如:“没错,有人帮你”或者“不,没答案”。...在看到这问题时候,反应通常不外如下三种: 1. 你还有什么要补充? 2. 真糟糕,希望你搞定。 3. 这跟我有什么鸟相关? 提问:Windows有问题,你帮我吗?...; 所报告问题是由于网络错误产生;   这便是为什么“技术支持”被认为是一件可怕工作,因为有拙劣bug报告需要处理。

78730

一文带你彻底理解程序为什么会超时

关于代码一切尽在「代码随想录」 一些同学对计算机运行速度没有概念 可能就是感觉计算机运行速度应该会很快 但我们在做算法题目的时候为什么会超时呢? 我们计算机究竟1s可以计算多少次呢?...超时是怎么回事 大家刷leetcode时候应该遇到过知一种错误是超时 也就是说程序运行时间超过了规定时间,leetcode并没说程序运行了多久超时,也没有说超时时间具体是多少 一般现在判题系统超时时间就是...1s,其他OJ呢,例如POJ 或者ZOJ 超时时间基本都是1s 也就是用例数据输入后最多要1s内得到结果,leetcode 应该也是1s左右(leetcode可能每道题限制会有所不同)。...下文为了方便讲解,暂定超时时间就是1s 接下来我们要知道我们代码为什么会超时 也就是如果我们写出了一个O(n)算法 ,我们其实可以估算出来n是多大时候,我们算法执行之间就会超过1s 如果知道n...27亿次 再加上双核所以就是理论计算机1s可以运行54亿次 但是不要以为计算机cpu 1s运行54亿运算都用到了我们自己写程序 这里面水分很多,首先不是CPU每次运行都能实现一次运算,有时候大概运行十几次才能完成一次运算

1.1K20

《硝烟中Scrum和XP》第9章 我们怎样进行sprint演示

第9章 我们怎样进行sprint演示 sprint演示(有人也叫它sprint回顾)是Scrum中很重要一环,却常为人们低估 ---- 为什么我们坚持所有的sprint结束于演示 一次做得不错演示...这很有意义 做演示会迫使团队真正完成一些工作,进行发布(即使是只在测试环境中)。如果没有演示,我们就会总是得到些99%完成工作。有了演示以后,也许我们完成事情会变少,但它们是真正完成。...团队在做演示时候会结结巴巴,之后掌声也会显得勉勉强强。有人会为团队感到有点儿难过,也有人感到很不爽,因为他觉得宝贵时间被浪费在了一场很烂 演示 这会伤害一些人。但它是苦口良药。...等到下一个sprint,这个团队就会真得试着做完一些事情!他们会想:“也许我们下个sprint可以只演示2个功能 ,不是5个。但这次这些该死功能一宿地正常工作!”...你可以自己看,报告都有怎么配置测试环境,发出了多少个请求!“ ScrumMaster:”那太好了!那就是你‘演示’啊!大家看看你报告就行了。这比什么都没有强,不是?“ 团队成员:”哦?

25320

技术从业者未来(三)

「当时如果我们做了什么,是否可以更快恢复?」 这是对运维对每次故障总结,目的是为了我们后续不会再犯同样错误,或者是出现类似的错误时,我们更好应对。...---- 或许很多人都还没认识到复盘威力,我们再看一下身边常见案例。 为什么有的人仅工作5年就能比得上别人工作10年经验?...为什么我们一直在重复做着相似的事,同样错误犯下N遍也不知道,更无法察觉和改正?...平时我们整理文件、用印象笔记、记账、思维导图等都是结构化思维在生活应用。总的来说,结构化思维对生活最大影响是提高效率,帮我们高效处理事情。 就比如,深度思考、利用好碎片化时间大大提升工作效率。...:"还有?" "没有了就这些"。 估计大多人回家可能只买了奶茶和葡萄。 利用归类分组进行金字塔搭建: 你得到有逻辑关系金字塔结构。

26220

写给初学者Jetpack Compose教程,为什么要学习Compose?

那么我们可以先来审视一下,View真的是好好?...它工作流程有点像是刷新网页一样。即我们仍然正常地去描述一个控件,但这次要附带上它状态。...如果加载过程中遇到了一些问题,比如说用户手机没网,这个时候就展示一个错误页面用户。 这是一个非常常见需求,那么长久以来我们都是如何实现这个功能呢?...为什么使用Compose来实现同样功能逻辑会变得这么简单?因为这就是声明式UI特点。当HomePage()函数传入参数发生变化时,这个函数就会触发重组,从而对界面内容进行刷新。...这样,我们就通过一个非常简单例子比较直观地理解了Compose优越性,希望这回答许多人心中为什么要学习Compose”疑问。

41620

Geoffrey Hinton 最新访谈:不出五年,我们就会破解大脑运作机制,但不是通过反向传播

想说是,很多研究人员知道这个,但可能不是每个人知道Alex结果和Ilya之前在ImageNet图像识别竞赛工作相比错误率降低了一半。...你需要对科学有信念,愿意去研究那些显然正确东西,即使其他所有人都说那是胡说八道,而且事实并非所有人那么认为。在70年代初,研究AI几乎所有人认为(东西)是胡说八道。...不朽代价是巨大,因为这意味着不同位硬件必须做完全相同事情,这显然是在做完所有错误校正之后零点校正。...打个比喻,如果你有一棵盆栽植物,你把它从花盆里拔出来,会得到一团球状根部,这正是花盆形状,所以所有不同盆栽植物都有相同形状根部,根系细节都不一样,但它们在做同样事情它们从土壤中提取养分...所以它们会更容易犯和我们一样错误不会犯那些不同寻常错误。举个例子,如果你有一辆自动驾驶汽车,它犯了一个任何正常人类司机都会犯错误,这似乎比犯一个非常愚蠢错误更容易被接受。

69320

Linux 开发过程那么麻烦,是否值得?

如果别人之后需要查看这些代码,将无法理解为什么要按照当时方式来完成这个变更。有些缺陷非常微妙,而且很容易重复出现。只看简短、非描述性提交消息,不一定有人能知道在什么条件下会出现错误。...如果我们讨论是一个 bug,就会知道它出现在哪些系统,发生在什么条件下,为什么没有影响到其他系统,以及应该做些什么来避免再次犯同样错误。...这引出了下面的观点…… 但是也希望 Linux 圈外的人能够理解:Linux 所遵循过程有着切实优势。没有一种工具完全胜任这项任务。...现代开发工具使许多事情变得更容易:你可以触发动作、集成 CI/CD 流水线、变更相关人员发通知等等。但在客观它们使得我们更难拆分工作了。...不知道这样工具会是什么样。但也许可以大胆地设想一下: Git 是一个源代码控制系统,本质源代码控制系统希望添加历史,不是重写历史。

41640

深度好文 | JavaScript 疲劳终极指南:我们行业真相

这就是我们在计算机科学中一直在做事情。我们使用低级抽象,并在其构建更多抽象。我们应该更多考虑是,我们软件应该如何运行,不是怎么让它运行,这样的话,才能更高效。...这个革命性发展同样也暴露出了我们需要解决问题。比如,渐进式 web 应用(PWA),它们之所以存在不是因为它们很炫酷,不是因为作为程序员我们乐于写 PWA。...我们现在可用技术其实在过去早已被发明出来了。当然,它们特性不同,名字不同,但是,本质它们都是相同。...那么我们为什么不去尝试着自己来实现或者去 GitHub 阅读代码库理解它们原理来实现这些东西呢?确定你一定能够发现很多有用知识。评论和 demo 也许会撒谎,也许会误导,但是代码不会。...我们一直在为不到一百年前计算机开发我们所知计算机软件,竞技场存在大约两千年了。 还记得最近一次看到一座桥坍塌是什么时候?还记得最近一次你手机或浏览器奔溃是什么时候

23210

为什么你在群里提技术问题没人回答?

这种情况多发生在刚刚入门同学身上,但也不全是,有些工作了好几年同学也好不到哪里去。问题提不好,也不认为代码好到哪里去。...记得,有一次,微信一下子弹出了好几条消息,正好挡住了正要操作内容,本来就心生不爽,点进去发现是一个同学正在群里问问题,5、6条消息发出来,仍然看的人一头雾水,不知所云。...,你遇到所有问题几乎都有其他的人遇到过,除非你是在做一个从来没有人碰过领域。...禁忌 1、如果有问题,直接按照上面说方法把你问题发出来就好,不要上来说一些无关痛痒的话,比如: 有人帮我解决一个问题? ==> 对不起,没有 有大佬在吗?...==> 对不起,不在 这个问题不光在提问时候适用,在其他场合下同样适用,有事情事情。不然除了浪费双方时间外,没有任何好处。

34220
领券