作为程序员的你,常用的工具软件有哪些?

作为程序员的你,常用的工具软件有哪些?,第1张

第一款:TrueCrypt

TrueCrypt可能很多人没用过,它是一个加密软件,能够对磁盘进行加密。还在担心自己电脑中的重要文件、私密档案被人查看。什么,你以为把文件设置了隐藏属性别人就看不到了?:) :)快来用TrueCrypt ,你必定会爱上它的。

特点派芹:对某一磁盘分区进行加密,开启计算机后,如果你没有打开TrueCrypt 这个软件,这个被加密的分区是不会被显示出来的。打开TrueCrypt ,输入密码后,你就能在”我的电脑“里看到那个被加密的分区了。

第二款:Soureinsight

Soureinsight号称源代码阅读神奇,应该是阅读源代码最方便的软件,至今没有找到其替代产品。

特点:方便阅读项目代码,批量搜索,快捷查询函数调用关系等等。

第三款:Sublime

Sublime号称是史上最性感的编辑器。如果你用过sublime后,估计你就很难再爱上其他编辑软件了。

特点:性感的编辑器,插件丰富,界面清爽。

第四款:Mindmanager

思维导图,据说是每个产品经理必备的软件。如果耐卜你阅读大型源代码,使用思维导图跟踪调用流程,绘制软件框架将会非常方便。

特点:没什么好说的,用过的都说好!

第五款:MarkdownPad

MarkdownPad是windows上最好用的Markdown编辑器。有了这货,你可以像写word文档一样写html页面,也是广大博客主的最爱!当然,在mac上有很多高大上的Markdown编辑器。

特点:windows上最好用的Markdown编辑器。

第六款:Beyond compare

Beyond compare是一款文件比较工具,能够比较文件夹或者单个文件。例如,你想比较两个版本的软件源代码在哪些地方有修改,用它就对了。

特点:快捷比对文件或文件夹的不同之处。

第七款:Vim

Vim是Linux上神一样的编辑器,插件丰富,通过配置后,就是一个无比强大的IDE。

特点:Linux上主流编辑器,插件丰富,功能强大。

第八款:Wireshark

Wireshark是广大黑客、网络攻城狮的最爱,极大的方便了我们抓取、分析网络数据包。包括:ARP、TCP、UDP、HTTP、HTTPS。

特点:只要是跟网络相关的东西,Wireshark 是少不了的一个工具。

第九款:Fiddler

Fiddler是一个http协议调试代理工具,能够非常方便的查看HTTP通信数据。比如http请求头,响应头,传说数据大小等等。

特点:http协议调试神奇,能够帮助我们理解http协议。

第十款:VMware

VMware虚拟机,如果你是硬件资源有限,那么使用它,你可以一台电脑当N太电脑使用。

特点:最强大的虚拟机平台,可能根据个人喜好,可能有的人会选择virtualBOX,因尘亩毕为它更轻量。

最讨厌自己在做事的时候,被人打断的那种感觉,你知道那意味着什么吗?

继续工作,会待着被打断的不满情绪,然后工作效率降低,原本很好解决的一项工作,被做成了垃圾。然后被上司责怪,自己一个人承担了所有责任。你能去怪谁?怪那个打断你工作的人?

也许有人会说,这是你个人心态的不成熟,与别人无关,不要把被打断当做你是失败的原因。好吧,也许会有人说,这是你弱你有理,反正被打断做不好事,不怪别人。OK,那不怪,以后你做事我也来打断你,然后后面也来嘲讽你,OK?

就像小编我,现在在写这篇文的时候,身边一直有人在BB,而且还在感冒生病中,但却还是有人一直打断我的思路。也许有人试过什么番茄工作法,去安静的咖啡店工作,在深夜里忙碌(小编就是,很多时候熬夜工作)。但是打岔的事,总是扮兄姿用不了多久就会攻破防护罩。

和很多人一样,我也是一个工作容易被打断的人。实际上,我们对于打断这件事以及恢复注意力方法的理解,和顺势疗法以及放血水蛭相差不远。但我们能怎样?

打断的代价

研究过办公环境下打断成本的调查员推测,被打断的工作相比没有干扰的工作要花费两倍的时间完成,并且出错量也是两倍。他们还发现,厅绝人们不得不在尘汪碎片化的状态下工作,因为57% 的工作都会受到干扰。

对于程序员来说,干扰的影响和现状更不明显;通常被打断后重回工作状态至少要15分钟。采访程序员得出的数字大致相同。然而很多软件开发业界的知名人士已经在权衡:Y Combinator 创始人 Paul Graham 强调了员工日程和管理者日程的不同,37signals 创始人 Jason Fried 说,办公室就是要被打扰的地方。

研究程序员的干扰

基于86位程序员使用 Eclipse 和 Visual Studio 记录的 10,000 个程序会话,并且调查了 414 名程序员后我们发现:

工作被打断的程序员恢复工作后要 10-15 分钟才会开始敲代码。

程序员在编写一个方法时被打断,不到一分钟就会恢复工作状态,所用时间仅为上述时间的十分之一。

程序员一天大概只有两个小时的连续时间不受干扰。

我们也了解了一些程序员应对干扰的方法:

多数情况下,程序员会在重新编码前导航到几个不同位置以重新建立上下文。

有意插入编译错误作为“路障”提示。

source diff 被视为是恢复工作状态的最后一个方法,因为 review 起来很麻烦。

打断程序员最糟糕的时间

调查显示打扰一个人最糟糕的时间是他们记忆负载最重的时候。对记忆负载使用神经关联(比如测量瞳孔直径),研究表明在负载高峰期被打断,分散最严重。

在我们的实验中,为了给编程任务期间的记忆负载定级,我们研究了默读方式。人们执行复杂任务时,可以监测到默读方式(舌头、嘴唇或声带的电信号)。这个现象引起了研究者的兴趣,有些甚至将默读信号比作思想管道。近日,研究者已经可以将这些信号解码为文字了。

如果一个被打断的人可以暂停工作状态或是恰好处于“good breakpoint”,那么被打断的影响就会减小。但是程序员从高记忆状态转换到低记忆状态至少需要 7 分钟。一个实验评价出了程序员最不想被打扰的状态,并发现以下状态最成问题:

编码中,特别是多处的并行编码;

导航和搜索时;

理解代码的数据流和控制流时;

IDE窗口离焦时。

创造记忆友好的环境

我们基本上是无法消除干扰的。(某些情况下,干扰也是有益的;被打断的任务中有 40% 没有继续下去,这可能是因为我们意识到这些任务并没有那么重要,或是干扰让我们有机会重新审视问题。)但是我们可以降低因打断而造成的记忆中断的影响。下一节会介绍几种编程时被中断或高负荷的记忆类型,并讨论支持它们的辅助工具概念。

前瞻记忆

前瞻记忆会在某些特定环境下提示下一步的动作——例如,提醒你在下班路上买牛奶。

各种各样的研究已经阐述了程序员是如何尝试应对前瞻记忆中断的。例如,他们经常在代码中保留 TODO 注释。这种方法的缺点是没什么动力去看这些提示。为了强制性促进前瞻性,程序员可能会故意留下编译错误来确保记得继续某项工作。但是,引入编译错误又会产生新的问题,因为无法在同一代码库上切换到另一个任务。最终,程序员和其他上班族一样,选择用便利贴或是邮件提醒自己。

“智能提示”可以在特定情况下触发,比如当同事 check in 代码时,或是接近提示时,它基本可以看做是代码界的便利贴。

专注记忆

专注记忆可以有意识的保持注意力。程序员跨代码库做相似修改时可能会产生专注记忆——比如,如果需要为了移动组件位置重构代码,或是为了使用新版本的 API 更新代码,这时程序员需要小心系统地编辑所有需要更改的地方。即使是一个小的改动也可能会造成许多问题,所以这需要程序员监测代码中许多位置的状态。更糟糕的是被打断后,专注记忆中的监测状态很快消失不见,之前查看和修改过的许多地方都需要重来。

接触点可以让程序员监测多个位置的代码状态。研究发现使用工具重构有缺陷,其中之一就是缺少跟踪多处代码的能力。因此,程序员抛弃了重构工具而依靠重构时引入的编译错误。可是使用编译错误来跟踪变化不是常规方法,并且依然会产生错误。接触点从程序员使用编译错误的方式获得启发。通过提取所有最近访问、编辑、查找过的代码,接触点可以自动恢复。

联想记忆

联想记忆维持了一系列同时产生刺激的表象间的潜意识关联。

程序员导航到不熟悉的代码时常会感到迷惑。当必须回想所看代码的位置信息或是接下来要看什么时,联想记忆会中断,这就是造成迷惑的原因。研究者相信界面元素中缺少丰富、稳定的环境提示,比如文档标签,会阻碍开发者回忆联想记忆。

刺激中多种形式的存在可以增强塑造联想记忆的能力。从这个意义上讲,形式指一种由大脑的特定区域处理的特定知觉,比如听觉或视觉通路。不同形式和相应的刺激包括:视觉(错误条、高亮代码)、词汇(文件名)、空间(滚动条或标签的位置)、 *** 作(文件的编辑/搜索/调试步骤)和结构(层级文件的逻辑位置)。

当同一刺激中存在多种形式时,更多的通路被激活,因此增加了形成联想记忆的机会。相反,仅有一种形式的单一刺激不易形成联想记忆。

联想关联通过程序元素中多种形式信息帮助程序员;观察程序员可以发现,他们导航时经常依赖环境提示间的联系,比如 tab 和 scrollbar,来保持上下文。但是,这些提示还不够:导航行为经常会扰乱提示的状态,界面元素不足,比如tab通常只包含文件名,急需关联性。导航文档标签的默认配置尤其简朴,通常只显示文档的名称,经过优化,可以增强关联记忆的回想。

两个应用了不同形式提示的标签:如error lines(视觉)和edit icons( *** 作)

情景记忆

情景记忆是对过去事件的回忆。软件开发者不断地学习新的技巧。保持和使用这类学到的知识需要程序员能够从情景记忆中回想起那些学习经历。

程序员回忆情景记忆时,回想其必要细节或关键事件的能力受到限制,所以一般不会成功。例如,可能会忘记编程任务做出的修改,或记不住为实现部分任务而借鉴的博客等之类的细节。

叙事编码是一款情景记忆的辅助工具,可以帮助程序员回忆上下文细节和编码历史。它支持不同类型的叙事;比如,高度还原事件的 review 模式和给别人发布编码任务的 share 模式。

编码时间轴可以帮助你和你的同事记得各自是如何工作以及使用的资源。

概念记忆

概念记忆是感知和抽象的一种连续。大脑是如何记得锤子之类的物体和“工具”等概念的?它首先会学习所遇刺激的基本特点,比如锤子的木质纹理和金属弧,之后将这些特点组织成为更高级的抽象。

程序员在职业生涯中应该保持专业技能。但是成为专家的路并不好走:对初学者来说,这可能需要 10 年。此外,对于那些尝试成为新领域专家的专家来说,就像桌面开发者转为web开发者,很多概念需要先放在一边,而去学习新的知识。

研究专家和菜鸟间的不同发现,表现不同是因为大脑活动的不同。与菜鸟相比,专家不仅需要更少的大脑活动,而且使用的大脑部位也不同:专家使用概念记忆而菜鸟使用专注记忆。也就是说专家能够利用概念记忆中的抽象,而菜鸟只知道专注记忆中的原始表现。

Sketchlet (alpha)是一款为帮助程序员形成和掌握概念而设计的软件工具,通过支持抽象和检查需更新的概念实现目的。可在 sketchlet.sourceforge.net上进行体验。

程序员非常希望自己的电脑能够一直旁樱世保持干净,什么软件都不想装,系统自带的软件就够用了,甚至连系统自带的软件都想卸载个一干二净。开发的工具也不想装,因为不想工作。我就随便说下曾经用过的软件。

必备的电脑管理软件

PP助手,相当于Windows的360软件管家。

必备的浏览器

Firefox浏览器,自由开源的浏览器,调试网页的功能非常实用方便,经常能查出网页传递的错误。

Google浏览器,安装管理插件非常方便,页面设计简洁干净无广告。

必备文本编辑器

Microsoft系列办公软件,表格数据库文件都算实用,流通度最广的工具。

Adobe阅读器,可以封装文件加签名,减少污染保护版权。

必备数据库文件

Sql server,极其难安装的软件。

MySQL,简单易装。

C++开发平台

Visual Studio,老牌开发软件,功能强大,每一位程序员用过的工具。

Dev C++,简单的C++开发工具,推荐新手使用。

Java开发平台

Myeclipse,能解决许多找不到jar包的问题,全套配置。

不是装了程序员的软件就能变成程序员的。想知道需要安装什么样的app,变成程序员就知道了,不是必要的软件就不会安装啦。而且使用的是苹果系运肢统也不需要担心,找不到对应Mac版本,颂悄推荐你安装一个虚拟机,装啥都行啦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12532518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存