导航:首页 > 程序命令 > 程序员用百度

程序员用百度

发布时间:2022-09-30 23:52:10

程序员遇到百度不出来的bug都是怎么解决的

笔者不同意下面网友的回答。程序员如果解决bug的水平停留在网络,那么本质上只是一个“面向搜索引擎的代码搬运工”,是不合格的程序员。

程序员对面bug,正确的“打开方式”是像福尔摩斯和柯南那样,寻找线索、运用逻辑推理来缩小问题可能的根因范围,最终精准定位。

常用的方法有:

1. 坏境上下文变换法

2. 工具调试法

3. 版本回溯对比法

4. 代码审计法

……

没有编程问题是stack overflow和Google解决不了的,假设你在编程中遇到了问题,你自己解决不了、你周围的的人都解决不了的时候,我觉得stack overflow、Google是你最好、也是最后的帮手。

作为一个程序员,我觉得Google、stack overflow是你必须要学会使用的两个工具,这两个工具本身并没有使用门槛,只不过因为一些众所周知的原因,很多人不能使用Google和stack overflow这两款工具。

Google主要还是方便,而且很多编程问题都需要用到英文搜索,当然现在网络在专业能力上也提升明显,不过跟Google也还是有比较大的差距,因此我还是强烈建议要学会使用Google,这会帮你在工作、学习上事半功倍。假设Google确实因为某些原因没办法很好的使用,我也建议你至少要会使用Bing搜索。

现在可以说stack overflow上没有你找不到的问题了,从IDE环境安装问题,到各类编程语言问题。算法问题,数据结构问题,调试,重构等等,几乎这里就没有你找不到的答案,可以说在stack overflow上你可以找到任何解决方案,并且上面的回答者基本上都是非常有经验,而且都是实际中遇到的问题分享出来的,这个工具一定要会使用。同理,除了stack overflow这个专业的垂直程序员问答社区,你也可以使用Quora这个综合问答社区,这上面也能找到很多问题的答案。

一些比较优秀的文本编辑器: Emacs/Vim,Visual Studio Code,Sublime Text,Atom,Ultraedit,Hbuilder等。

一些比较非常出色的IDE集成开发环境: visual studio,IntelliJ IDEA,PhpStorm,Haskell for Mac ,eclipse,WebStorm,GoLand,CLion,Android Studio,Xcode,QT等。

macOS平台比较好的第三方包管理工具: Fink,Macports,Homebrew等。

一些比较好的终端工具: Zoc7,iTerm2,Cmder,terminus,hyper等。

一些比较好的笔记软件、markdown工具、效率工具: Evernote,有道云笔记,为知笔记,Ulysses,MWeb,FileZilla,Snipaste,Kantu等。

虚拟机软件、容器软件: Parallels Desktop,VMWare Fusion,Virtual Box,Docker等。

我是个程序员,职务是linux底层驱动工程师。平时的主要工作是调试驱动,但产品遇到诸如死机、重启、不开机之类的问题时,也要参与查找原因。一部分问题,确实可以查看相关的log,然后网络这些log的关键字来解决;但更多的问题,牵扯的条件太多,并不是简单的网络就能解决的。

观察了周围同事们的做法,我总结出以下几种解决方法:

网络因为竞价排名的原因,搜索出来的结果有很多广告的成分,所以有时候要翻好几页才能看到一条相关的答案,有些甚至要翻几十页。

因为网络搜索使用的是SEO技术,即普通用户可以通过优化网站内容来提升关键词排名。

而这就会导致一个问题:你搜索关键词后展现出来的结果是有人想要让你看到的,并不是质量最好的。

也就是说,网络搜索结果被人为干预了。所以网络一直被网民所诟病。

但网络搜索不出结果,未必是网络的原因,也有可能是自己输入的搜索词不准确造成的。所以对于网络,我们要做到如下几点:

除此之外,网络搜索还有点小技巧,粥左罗《万字干货,彻底讲透搜索技巧,10倍提升你的搜索力(免费教程)》这篇文章写得非常好,我整理几点,仅供参考:

01 过滤目标内容

命令:“+”“-”

用法:通过“+”和“-”来对搜索结果进行过滤

比如在关键词后加上“-推广 -推广链接”就可以排除搜索结果中包含相应字样的链接。如果你发现广告还没有排除干净,你也可以再加上“-广告”通常就能彻底的消灭广告。

02 搜索包含某关键词的内容

命令:“intitle”

用法:通过“intitle”命令指定搜索结果中要包含的关键词,注意“intitle”后边连接的冒号是英文状态下的。

03 搜索某一个格式的文件

命令:“filetype”

用法:通过“filetype”命令可以限制我们要搜索文件的类型,注意“filetype”后边接的冒号也是英文状态下的。

04 搜索特定时间范围的内容

命令:“时间..时间”

用法:通过“时间..时间”命令可以限制我们要搜索的文件的时间,注意两个时间的中间顿号没有空格。

相对网络,谷歌、必应对于技术搜索,就相对准确许多,所以当你网络搜索不到时,尝试下别的搜索引擎,说不定会有新发现。

现在程序员使用的机器语言,都是国外的,更准确的说,都是美国的。所以很多论坛、资料等,都是英文。如果你只会用中文来搜索,某些小众的问题,当然搜不到啦。

所以,要学会使用英文关键字来搜索。

有时候甚至要去国外的一些论坛来搜索想要的答案,这就要求要有一定的英语阅读能力,不能一看到英文帖就放弃。

有时候不管你如何搜索,都找不到自己想要的答案,该怎么办呢?这种情况下,就只能硬着头皮尝试自己解决了。

或者,寻求同事或朋友的帮助,寻求大脑风暴,说不定就会有思路。

如果有些问题是因为新器件带来的,还可以找到器件供应商,让他们安排技术支持帮忙查找原因。

除此之外,还可以把问题整理好,写清发生的条件、复现步骤、测试方法、相关的LOG截图等资料,去一些技术论坛发求助帖,寻找大牛的帮助。

做技术时间久了,发现有些问题确实无解,根本没有办法去解决它。

这时候,我一般会尝试把它绕过,就是说,想办法让它无法复现,虽然问题还是存在,但是能把它掩盖过去。

比如有些驱动在开机启动时会加载不正常,那么就让它晚点启动,或者手动加载。这也不失为一种解决问题的方法。

以上就是我的建立,希望对你有帮助。

首先作为一个程序员,一个优秀的程序员最最最重要的能力就是解决问题的能力。这里解决问题的能力当然就包含了解决 bug 能力了

毕竟,程序员这一生,可能会写无数个 bug ,没有说哪个程序员敢保证自己写的程序没有 bug 。 所以,写了 bug ,遇到 bug 并不可怕,可怕的是你没有解决 bug 的能力 。

作为一个程序员,解决 bug 的途径有哪些呢?我们来一起聊一聊!

其实,每个程序员在学习编程的时候,都会使用编程工具,而现在的开发工具,其实功能都很强大。如果你自己合理利用编程工具,都了解和懂得开发工具的一些技巧,其实不仅仅能够提高开发效率,而且还能够帮助你解决很多编程中的实际问题。

debug 调试,大部分你常用的开发工具,都会有调试模式的,简而言之,就是你编程的时候,遇到了不是自己所想的结果的时候,你可以使用 debug 模式,来一步一步的调试,在调试模式下一般每一步都会显示所执行的结果,你可以看看在哪一步出错了,执行的结果与你预想的结果不对,那么你就能够找到问题所在了。

还有就是,开发工具的控制台,都会提示出报错信息的,现在的开发工具,都会直接告诉你哪一行,报了什么错。其实,很容易定位到错误的。你只需要在编程的过程中积累经验,知道报什么错,用什么方法来解决就行啦。

可是,提示的报错信息,我不知道用什么方法来解决的时候,该怎么办呢?这就是你需要积累的,也是问题中所描述的,就是通过搜索引擎来找答案。

不对,这里不应该是合理使用搜索引擎,应该是学会正确使用搜索引擎。比如:网络,你就不要用了,搜出一堆重复的信息,而且广告也多。作为程序员,建议你使用谷歌搜索。

其实,你在编程中所遇到的几乎所有的问题和 bug ,别人也同样遇到过,因为不管是经验丰富的老程序员,他技术再牛逼,也是初学者过来的,也都踩过你踩的坑。所以,互联网是个好地方,里面包含了你想要的问题的答案。

你只要把报错信息往搜索引擎上一放,回车一下,很多关于这个 bug 的答案就出来很多,你只需要找到跟你一样的 bug ,就能找到答案了。

在这里必须提一下这个网站,所有的程序员有必要学会使用这个网站,其实,你编程中所遇到的问题,这个网站上几乎都是由解答的。

Stack Overflow 可以说是最好的软件程序类问答网站了,给软件开发人员工作和学习提供了非常大的便利,以至于像小白,离了 Stack Overflow 简直都不会写程序了。

所以,建议大家一定要学会使用这个网站,对你编程肯定会有非常大的帮助的。

通过上面的方法,几乎应该能够解决到你所遇到的问题,但是,实在找不到答案的话,你可以问经验比你丰富的老程序员,实在解决不了,那就换种方法吧!

网络,谷歌,debug,断点调试,业务上的bug就需要问下同事或者产品。如果能知道大致范围,哪一部分错了,就换一种方法呗,一般都不会只有一种方法。

1.reload

2.restart

3.rewrite and then goto 2 or 4

4.reboot

5.rm -rf /

6.原谅我编不下去了[捂脸][捂脸][捂脸][捂脸][捂脸][捂脸][捂脸]

找bug跟医生看病的思路是一样的,要对症下药。得先把问题的根源找到,找到根源以后问题就容易处理了。搜索引擎找不到的问题,说明这个问题不是一个常见的问题,具有独特性,那么从bug出现的路径上一步一步去排查。必要时可以用排除法,尽可能的缩小排查范围。另外,当软件的业务逻辑比较繁多复杂的时候,一个结构清晰的架构能为你节省不少找bug的时间。还有,充分的单元测试能够帮你减少出bug的机会。以上均为个人看法,欢迎讨论!

一般程序员能碰到的bug无外乎其他上游程序员写库时手抖留下些不匹配或者容易溢出的问题,搜一下差不多能解决问题。如果是自己写的,那无非就是时序错误类型错误之类的,用break point一行行的调就好了。

再复杂点的bug就是程序员拿高薪的根本了,只可意会,不可言传~

仅仅靠搜索引擎、其他网站那必然无法解决大量问题,因为很多问题是跟业务逻辑相关的,是没有直接答案的。比如 游戏 开发有个界面一直无法显示,这个问题就不是网络可以解决的。问题需要调试分析,这和破案非常像,但在开发过程中更有利的是问题有机会可以重现。破案是逆向工程,需要反推。解决代码问题不仅仅可以反推,也可以通过阅读代码正向分析。下面说说如何debug一个业务逻辑问题。回到刚刚的例子,有个界面一直出不来,我们如何快速去定位:

1.思考这个问题发生的可能性。比如 游戏 内大量界面都是正常的,那么可以对比正常界面代码和异常界面代码的区别,这是对比法。

2.假设创建正常界面和这个异常界面的逻辑代码是一样的,那么问题就落到了这两个界面内部,继续在内部重复上面的对比法进行判断,直到锁定最终位置。

上面说的方法基本上可以杜绝卡在一个简单问题上,这是摆脱新手的一个过程。选择使用对比法或者其他方法的前提都是基于观察和对项目的认识,所以,搜集“案发现场”是最关键的。

其他的问题,不属于逻辑的,像其他网友说的那样,有些通过到github、stackoverflow等地方解决的。这些问题也不是直接就去查找的,它通常也有个分析过程。比如你使用了一个库,但是目前它不支持你的模块。对于新手,就是直接网络或者google了。实际上这样的问题也是有“案发现场”的。对于作者提供的api接口的统一性和便捷程度去推断作者在相关支持模块的位置以及命名以及拓展,再尝试在文件夹中搜索。如果都找不到,再去Google上获取更多的信息。重复推断、分析,决定如何拓展或者绕过。

综合上面的几种问题,可以看到的是都离不开对现场的观察和推理分析。这种能力也被称为经验。但是一般情况下你看不到它们这个分析过程,你能做的就是在实际环境中反复逼迫自己去思考,去训练。这个推理的培养,不仅仅是对事情,也是对人。

我在入行 游戏 开发的前期,也是类似的情况。卡在不同种类的问题上,有些在简单逻辑,有些在别人的代码支持上。后面解决的问题多了,就会发现里面共通的思维方式。常用的一些方法如下:

1.对比法,比较正常与异常代码区别

2.二分查找法。分段注释找问题,也会用在很多方面。比如最近版本突然出了一个奇怪bug,可以通过svn还原来定位。这个还原不是一个一个版本还原,而是用二分法去还原。

3.增加信息。在怀疑的位置或者过程添加日志或者打断点辅助自己更好的推理。

4.相似推理。比如一个引擎在api、性能使用程度上都非常友好,那么它在别的地方也有可能相对表现比较好。这时候如果有个功能我们的实现需要很复杂才能完成,那么就有可能是我们用错了。相似推理不一定都能正确,但会提供一些帮助。

以上。

⑵ 百度的程序员用什么搜索引擎

谷歌

⑶ 程序员经常查百度吗

是。国内程序员经常访问网络和Google查询相关资料,实在是再正常不过了。

⑷ 程序员笔试可以百度吗

程序员笔试不可以网络,去面试如果可以查网络那你就无法正常回答面试官的提问了

⑸ 程序员用英语怎么说

程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。那么你知道程序员用英语怎么说吗?下面来学习一下吧。

程序员英语说法

programmer

程序员的英语例句:

迈克找到一份做计算机程序员的富有挑战性的工作。

Mike found a challenging job as a computer programmer.

一个程序员是准备计划机程序的人。

A programmer is a person who prepares a computer programme.

新程序员来公司报到了吗?

Has the new programmer come to report to the company yet?

大多数程序员仅仅把自己当成一个写代码的。

Most programmers today see themselves as coders and nothing more.

有些程序员为了传递事件,甚至创建不可见窗口。

Some programmers even create invisible windows just to pass events.

请只程序员,将能够制造和定制模块。

Please only programmers that will be able to make and customize moles.

你天生就不是当程序员的料。

You are not cut out to be a programmer.

程序员可以控制作用域内存区域的创建和销毁。

Scope memory areas can be created and destroyed under programmer control.

这可以让程序员使用他们已经熟悉的工具和语言。

This lets programmers use tools and languages that they already know well.

团队应该拥有程序员测试和客户测试的自动化套件。

The team should have automated suites of programmer tests and customer tests.

只要4个聪明的年轻程序员,你就能成立一支团队,然后,你就能赚到大量的“真金白银”。

You get together a team of four smart young programmers and you can actually make a lot of money.

但实际上,XML应用程序的灵活性取决于您,程序员,如何创建它们。

However, in practice, XML applications are only as flexible as you, the programmer, make them.

当然,熟练的程序员可以用静态常量实现这项功能,如清单1所示

Of course, well-practiced programmers already know you can achieve this functionality with static constants, as shown in Listing1

对于第一种情况,程序员完全负责保证结果文档是格式正规的。

In the first case, the programmer is fully responsible for ensuring that the resulting document is well formed.

这些其他语言也鼓励程序员使用缩进,以改善程序的可读性。

These other languages also encourage programmers to use indentation, in an effort to improve the readability of programs.

其动态关注程序员工作效率。

It is dynamic with a focus on programmer proctivity.

其他程序员构建大量充满函数的包含文件。

Other programmers build massive include files full of functions.

但我自己作为一名学习Ruby语言的程序员,我可以让您了解它为什么很有趣。

But as a programmer learning the Ruby language myself, I can let you know why it is interesting.

希望使用Scala的java程序员也应熟悉特征,将其作为使用Scala的一种机制。

Java programmers looking to call into Scala should also be familiar with traits as a mechanism for using Scala.

⑹ 程序员该如何使用搜索引擎

看你的提问,我想你是一个刚刚成为程序员或者想要成为程序员的年轻人,那么你首先要明白网络是这个星球上最好的搜索引擎,没有之一。同样的作为搜索引擎,由于一些算法和背后逻辑的问题,不是每一个搜索引擎都能达到像网络这样的效果,所以选择一个正确的搜索引擎是我们开始正确使用他的第一步。


第三,分辨搜索结果的质量。最近网络上的一些搜索引擎有很多的问题,搜索结果的排名和误导性也是其中之一。虽然搜索程序员的相关信息不至于被骗以及经济损失,但是搜索出来的结果直接影响到你学习的优良性。也许你下载的软件不是官方版本,而是木马病毒。或者你可能因为相信推广培训而参加了一个糟糕的培训课程。所以在这种情况之下一定要好好分辨搜索结果的质量。

⑺ 程序员到底该用Google还是百度

你要是找什么娱乐之类的,比如MP3就网络吧。但是专业知识还是googel比较好,网络的商业化排名比较令人头疼,很多原创的东西都被筛掉了,如果一家大型网站转帖别人原创的,那么那个原创的肯定在那家大型网站后面,所以,你懂的。
至于CodeGoogle 就是托管项目的,上面的所有项目都是开源的。

⑻ 程序员 用什么杀毒杀毒软件好

微点主动防御软件是第三代反病毒软件,颠覆了传统杀毒软件采用病毒特征码识别病毒的反病毒理念。微点主动防御软件采用主动防御技术能够自主分析判断病毒,解决了杀毒软件无法防杀层出不穷的未知木马和新病毒的弊端。
微点主动防御软件是北京东方微点信息技术有限责任公司(以下简称微点公司)自主研发的具有完全自主知识产权的第三代反病毒产品,在国际上首次实现了主动防御技术体系,并依此确立了反病毒技术新标准。微点主动防御软件最显着的特点是,除具有特征值扫描技术查杀已知病毒的功能外,更实现了用软件技术模拟反病毒专家智能分析判定病毒的机制,自主发现并自动清除未知木马和新病毒。
微点主动防御软件功能介绍
>无需扫描,不依赖升级,简单易用,安全省心。
反病毒技术的更新换代,使得反病毒软件的使用习惯也发生了翻天覆地的变化。微点主动防御软件令用户感受到前所未有的安全体验,摒弃传统使用观念,无需扫描,不依赖升级,简单易用,更安全、更省心。
>主动防杀未知病毒
动态仿真反病毒专家系统,有效解决传统技术先中毒后杀毒的弊端,对未知病毒实现自主识别、明确报出、自动清除。
>全面保护信息资产
严密防范黑客、病毒、木马、间谍软件和蠕虫等攻击。全面保护您的信息资产,如帐号密码、网络财产、重要文件等。
>智能病毒分析技术
动态仿真反病毒专家系统分析识别出未知病毒后,能够自动提取该病毒的特征值,自动升级本地病毒特征值库,实现对未知病毒“捕获、分析、升级”的智能化。
>强大的病毒清除能力
驱动级清除病毒机制,具有强大的清除病毒能力,可有效解决抗清除性病毒,克服传统杀毒软件能够发现但无法彻底清除此类病毒的问题。
>强大的自我保护机制
驱动级安全保护机制,避免自身被病毒破坏而丧失对计算机系统的保护作用。
>智能防火墙
集成的智能防火墙有效抵御外界的攻击。智能防火墙不同于其它的传统防火墙,并不是每个进程访问网络都要询问用户是否放行。对于正常程序和准确判定病毒的程序,智能防火墙不会询问用户,只有不可确定的进程有网络访问行为时,才请求用户协助。有效克服了传统防火墙技术频繁报警询问,给用户带来困惑以及用户因难以自行判断,导致误判、造成危害产生或正常程序无法运行的缺陷。
>强大的溢出攻击防护能力
即使在windows系统漏洞未进行修复的情况下,依然能够有效检测到黑客利用系统漏洞进行的溢出攻击和入侵,实时保护计算机的安全。避免因为用户因不便安装系统补丁而带来的安全隐患。
>准确定位攻击源
拦截远程攻击时,同步准确记录远程计算机的IP地址,协助用户迅速准确锁定攻击源,并能够提供攻击计算机准确的地理位置,实现攻击源的全球定位。
>专业系统诊断工具
除提供便于普通用户使用的可疑程序诊断等一键式智能分析功能外,同时提供了专业的系统分析平台,记录程序生成、进程启动和退出,并动态显示网络连接、远端地址、所用协议、端口等实时信息,轻轻松松全面掌控系统的运行状态。
>详尽的系统运行日志记录,提供了强大的系统分析工具
实时监控并记录进程的动作行为,提供完整的、丰富的系统信息,用户可通过分析程序生成关系、模块调用、注册表修改、进程启动情况等信息,能够直观掌握当前系统中进程的运行状况,能够自行分析判断系统的安全性。

⑼ 作为一个java程序员,开发过程始终依赖百度,正常吗

谢谢邀请!在工作的时候遇到不会做的任务可以去网络,除非那个程序员什么都不会,每一个任务都要去网络,这样的话效率就不好了。不过也是有好处的,
经常上网查资料其实也不错,别人的答案也只能作为参考,如果完全去复制粘贴那就没意义了,这样永远也学不到东西。要走进别人的思想,再对比自己的思想,两种思想结合就是一种新的思想了,

阅读全文

与程序员用百度相关的资料

热点内容
慧医通医生端安卓手机怎么下载 浏览:698
电影放到安卓手机哪个文件夹 浏览:191
VT命令 浏览:589
ftp链接到linux服务器地址 浏览:478
美国大尺度青春电影 浏览:21
李采谭演医生的电影名称 浏览:409
移动办公app第一次登录服务器地址 浏览:239
日本功夫电影 浏览:57
文件包文件夹 浏览:592
主角每次死亡都会变成另一个人 浏览:807
浪潮服务器如何调整凭证的尺寸 浏览:908
监控源码怎么打开 浏览:597
88影视打不开了 浏览:515
青岛办离婚用什么app 浏览:738
查询坐标命令 浏览:991
教孩子学编程ppt 浏览:813
77服务器怎么找 浏览:991
国外免费电影网站 浏览:914
java负数二进制 浏览:670
单片机多字节加减程序 浏览:151