百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

邓淑华讲述显著提升程序员身心健康和工作效率的装备

liuian 2024-11-28 00:51 25 浏览

本文由邓淑华新浪博客http://blog.sina.com.cn/u/1770587702提供。

作为一枚萌妹子,不敢自称程序猿,但也是常年电脑前累弯了肩膀和腰……邓淑华无意中在知乎看到这个问题,如何显著提升程序员身心健康和工作效率的装备。下面分享。

(一)

工作效率:

加速度(一个电脑的有用程度和它里面装的软件数成反比)

  • 给电脑换上SSD吧,你再也不用为了打开Photoshop而等待一分钟了,只需3秒!
  • 给电脑加条内存吧,开虚拟机再也不用等待菊花了
  • IDE上哪些从来都不用的Plugin给Remove掉吧
  • Chrome上打开chrome://memory-redirect/你会惊奇的发现一个再简单不过的Extension也得占用几十M内存,长时间不用的扩展还是删掉吧
  • 开机启动项赶紧T掉(Mac用户不在此列,我们都是几个月不关机的)
  • 舒适的网络环境绝对是非常重要的,还在用小水管,赶紧去换成10M光纤吧,体验下网上冲浪的感觉!
  • 国内环境还不赶紧上VPN,一年才100多快换来的是网络自由,这你都舍不得?
  • 多显示器绝壁是攻城师的不二利器啊!左边敲代码,右边预览、左边敲代码,右边LOG、左边敲代码,右边看电视
  • 实在只有一个显示器也行啊,多建几个虚拟桌面切换
  • 定制好的你的桌面图标(Mac Dock图标),把常用的提上去
  • 使用Quicksilver、Alfred之类的软件能有效的提高操作效率
  • 键盘的速度绝对比鼠标快,所以还是多记一记快捷键吧。Chrome下的Vimium和Firefox下面的Vimperator上手后对比下用数据操作的时间你会合不拢嘴的

专注

  • Coding的时候关掉手机提醒吧
  • 邮件通知、QQ消息等简直是让人分散注意力的罪魁祸首
  • 合理的挑选工作时间也很重要(当然得条件允许了,我是感觉每天晚上12点后的三个小时效率非常高,原谅我每天3点睡觉)
  • 一杯茶或咖啡在快没精神的时候是很有作用的
  • 你机箱是多少天没清理了,风扇的声音都快盖过拖拉机了
  • 对于有些人来说适当的音乐也能够使其更专注(我是那种要听着经典电视更能专注起来的,现在都能背下水浒传了)
  • 我在做事的时候能不能不要扫我桌子底下
  • 哇擦,IDE里这个文件有23层目录,用鼠标去点导航不得点死啊!搜索优于导航,用快捷键进行全局查找,赶紧抛弃文件树吧
  • find、sed、grep、awk好用到流泪

自动化

  • 很多时候我们都喜欢重复造轮子,但是不要造过一次还去造第二次好吗?
  • 每次打开收藏夹里面一堆网站挨个浏览真的比RSS好吗?
  • 每次的重复操作虽然只是占用很少时间,但长时间这样也是很费时的。搞成自动化不好吗?(每周耗时超过1小时的都建议做成自动化)
  • 搞自动化前好好衡量下值不值得,别给耗牛剪毛,越剪越多
  • 经常Google一些函数用法,赶紧将文档下下来本地查!(Mac下非常推荐Dash)

规范性

  • 这个小改动这样改就好了,没必要考虑那么多!- 结果后面又接二连三的来改这个或者这个引起的那个…改的时候考虑全面点
  • 用上Git、Subversion之类的版本控制工具吧,这次出问题了马上回滚到上次正常版本
  • 一定要写注释啊,别面下次看代码又从头看起!(被后面接手的人骂肯定不是滋味)
  • 画好UML图吧!不要每次费劲的想走到哪一步了,下一步是什么
  • 数据库结构关系图同上
  • Deadline的重要性不言而喻
  • 细分任务到最小层级,对每个层级进行耗时预判,做好时间点规划(Mac下推荐OmniPlan)
  • 对项目中突然增加的可有可无的需求说NO

测试驱动开发

  • 单元测试是提升代码质量的最好方法。不要只是看看,赶紧去用起来
  • 代码覆盖率测试也是非常重要的,帮你找回潜在的隐患
  • 代码错误检查(代码右边的红红绿绿的不消灭掉以后就等着被坑吧)

高效工作环境

工作环境是最影响工作效率的。听说没图没人看,那就贴张我自己家里办公环境的图吧!

图解:

椅子:一把舒适的椅子很重要

很多知友对图片里的椅子很感兴趣,那我就简单说说吧!

如果椅子预算在3000+,请忽视以下文字!

》》》忽视开始《《《

我们平常可能经常能看见各类人体工程学XX,比如人体工程系鼠标、人体工程学座椅!

不可否认,大于5k一把的桌椅的确很舒服,但是像我这种屌丝买不起,怎么办?

对比1000内和3000以上的后我发现一些明显的区别(如上图):

1.高端功能(比如座椅记忆功能,看着就高大上!但对于我这种预算有限的又没有实际需求还是pass)

2.靠手可以升降(公司的靠手最开始的时候经常会去调调,结果手也经常被卡着椅子和桌子间,后来发现靠手最合适的高度是手垂直放下,靠手与手关节交汇)

3.材质(透气度、安全度、是否异味)

其实这个还挺在意的,比如透气度、安全度,但是当我详细的看过她的配置后我发现每一把椅子的安全是合格的,在每一把椅子坐垫下都有一块一样的钢板!透气度感觉公司的座椅坐久了屁股也会热,所以坐垫的透气度可以降级!

4.还有其它的一些小区别

同时也发现一些相似处

1.座椅靠背的弧度一样(这是舒适的前提,必须保证!对比厚度也一样)

2.都可以调节成躺着的姿势(连续工作一段时间可以调整椅子平躺着小憩一会)

3.底座都是铝合金的(建议不要选择钢质脚)

根据我们的需求,发现透气度是最明显而又重要的区别,夏天不透气,真的不好受的,1000以下的透气效果不好怎么办?于是我就想到了退而求其次,买个凉席垫,使用后发现比其它透气效果都好!

具体型号请参照上面标准自行选择购买!

》》》忽视结束《《《

环境设备

书架:很多东西都可以放进去,桌上能清爽很多

台灯:夜深人静的时候关上顶灯,打开台灯

白板:我还是习惯放下电脑,用笔去梳理自己的思维逻辑

Macbook Pro: 内存已经加到16G,已更换SSD

键盘:试了好几个,最终还是选了某87,感觉非常好!

鼠标:在Mac下开发触摸板是很管用的,外接鼠标的话建议买多按键的以实现触摸板的特殊功能

显示器:左边是DELL2414H,右边是HP COMPRQ,两个效果差太多,价格差一倍。入DELL不后悔!

显示器支架:买的Loctek,这个的确很值,显示器任意角度、任意位置移动

桌布:到了冬天,很多人都会不愿意开电脑了。除了工作累之外我还发现其中很大一个原因是因为桌面太冷!!!

绿植:平常浇浇水也是一种乐趣

软件方面:

自己写了一个管理个人事务的系统(有点想喝牛奶买头奶牛的感觉)

很多知友问关于这个个人事务系统的一些状况,这里统一回答下:

是否开源:

的确有想过,周围同事也曾想参入进来,而且我做这个的初衷也想过公开给所有人免费使用,所以开源是肯定的!

如果你对效率提升方面有什么产品性建议,希望能够交流!

项目已经加入Github,您的Star和关注就是支持我们前进的动力!

这个项目的目的也是为了提高大家的事务管理效率,所以还是蛮有意义的!

更新一些大图:

其实里面功能大部分都能用世面上成熟产品替代的,但是那些工具无法根据我自己的意愿优化更改,所以我最终还是写了这么一个东西!

主要常用的:

时间目标管理:类似TODO,但是根据我个人制定了一些月度、季度以及年度目标,然后从平常的待办事件中分析大目标的进展

日记本:这个后来还是废弃了,转投印象笔记了

我的钱包:后台也是懒得记了,闲麻烦,本来想做成读取账单的,后台发现账单太多而且又不全,最终还是放弃了

密码保险箱:这个使用频率还是非常高的,存了自己一百多个网站的账号密码等信息,密码采用随机高强度规则生成的,所以我大部分网站密码都是大于18位,且定期更改

人际关系:这个主要管理自己的人际关系,和待办事件里关联的,如果待办事件里@了某人,那么在人际关系中某人的事件里面就会出现!还有人际关系拓扑图以及一些生日提醒之类的

关注新闻:已废弃,转投Reeder。本来是想写成自己的RSS阅读器,结果发现做出来的没有什么优势

常用软件

也不全,主要是这台电脑只在家里用,公司那台的开发软件会齐全些!

主要说下几个别人没提到的:

Alfred:效率神器,必备

Dash:管理各类开发文档的非常好用

iDocument: 管理各类文档

CodeRunner: 写些脚本工具非常快速,如下图

Mou: Markdown写各类报告也很好用

iTerm: 多窗口切割很好用

Reeder: Rss阅读器

补充(偏Mac):

JetBrains系列(IntelliJ IDEA/PhpStorm/PyCharm等)真的好用

Time Sink:曾经为了想知道自己30分钟内做了多少事而买了个漏斗,结果沙漏时间很不准确,然后就发现了这个软件,挺管用的

xSope: 各类辅助工具非常强大

Gas Mask: 上面回答者@李乐佳用这个在工作中屏蔽娱乐网站!而我们是用这个来指向测试环境和生产环境的

Charles:调试手机APP接口很方便

Parallels Desktop:虚拟机神器,一大特点就是融合模式(Coherence),如下图:

Sequel:远程数据库连接,支持SSH模式,如下图

Caffeine: 给电脑灌上咖啡,让它精神起来

Eudic:Mac下最好用的词典,非常方便

喜欢Windows下的PuTTY保存SSH密码功能?Linux下也可以 wufeifei/autossh · GitHub

浏览器插件:

VPN切换起来太顺了。国内网站直连,“国外”网站添加ssl

wufeifei (zhijie) · GitHubFollow 我的Github账号,最新提升效率工具会更新上去!

未完待续...空了再更新!

等你每一项都做到后,我大概会将未完待续部分补充完善!

我说的你可能都懂,但最后你还是没有做到。

为什么?因为你懂的不够深入:当你下一次再遇到想提升效率的时候,你又会去百度各种提升效率的方法,周而复始...

(二)

如果用Linux,找一个顺手的window manager,把常用的应用和窗口操作绑好快捷键,再装个dmenu之类的。(我现在在用openbox。)

==========================

*硬件:

**键盘:机械或静电容。我正在使用的是KBC Poker,红轴。布局如下:

60%布局,有点类似HHKB。(相比HHKB,这货太便宜了。。。)图中标示的键需要搭配Fn。但是这不是问题,因为右边的Fn大拇指非常好摁,而60%布局的好处是手掌根本不需要移动。比如方向键,右手大拇指摁住Fn左手wasd就可以了。这样在任何情况下都可以享受Vim的操作效率了。

此外可以通过开关切换CtrlCaps Lock位置,以及AltWin位置,加分!

唯一缺点是F1-F12比较难摁。但我的环境一般是Mac和Linux,很少需要F键,因此这块键盘对我来说很完美。

推荐一下红轴,青轴的问题是让我的感觉是手指需要配合着键盘的速度和节奏,这让我很不爽。而红轴完全是顺着你手指的速度和节奏的,打起来很轻松。不过这显然是因人而异啦。

当然,终极追求肯定是HHKB

PS:这货现在出了二代了,可编程,搞一个吧。

**轨迹球:强烈推荐罗技M570。如图

习惯需要一小段时间,但之后就再也用不了鼠标了。移动方向靠大拇指,手腕包括手掌完全不需要动啊太舒服了!

** SSD &尽可能大的内存:还要多说么,我还在使用Mid 2010 的 Macbook Pro,2.4 GHz Core 2 Duo(应该是P8600)。配合128GSSD和8G内存完全没有感觉速度不够用啊!

**显示器:不用多说,越多越大越好

**备份方案:没错,我说的当然是这货!Time Capsule

呃。。。我没有。。。买不起。。。

我现在在使用的是Raspberry Pi +希捷桌面硬盘配合Time Machine。虽然简陋了一点,但是满足备份需求完全没有问题。

**/咖啡/食物:写程序的时候有伏特加或者威士忌最好了!喝一口四肢活络头脑清爽啊!(匿,请根据酒量和口味自行选择。。。)还有没有咖啡食物嘴里好难受啊~

** 以及(不限于)USB Hub、无线充电设备、Eneloop电池、说得过去的耳机、螺丝工具箱、打印机甚至包括各种玩具等等所有可以让生活变得方便和美好一点的东西!

==========================

*软件:(我99%时间使用Mac和Linux,因此部分软件特指Mac和Linux下的——

**交换CtrlCaps Lock第一件事,先交换Ctrl和Caps Lock。从此再也不用担心手指变成这样了!

** Github不用多说,必备。

** Dropbox最好直接买Pro。我经常需要(在服务器或者集群上)跑几个小时甚至几天的计算程序。使用Dropbox同步之后去远程启动计算后该干嘛干嘛,计算结果出来后就会乖乖出现在本地硬盘里了。忘了scp和rsync吧!

此外还可以一定程度上弥补Git两次commit之间的版本回溯需求。

** Zsh & oh-my-zsh扔掉Bash吧,就冲自动补全也值了。

**字体:说实话我没太大讲究,只要是等宽字体并且可以区分O/0I/l就可以了。

** 其他必备的软件包括CaffeineMoomAlfredDash&SublimeText

相关推荐

打开新世界,教你用RooCode+Copliot+Mcp打造一个自己的Manus

本文耗时两天打造,想要一遍走通需要花点时间,建议找个专注的时间开搞!这不仅是个免费使用claude3.5的方案,也是一个超级智能体方案,绝对值得一试!最近Manus真是赚足了眼球,然而我还是没有邀请码...

Git仓库(git仓库有哪些)

#Git仓库使用方法流程详解##一、环境搭建与基础配置###1.1安装与初始化-**安装Git**:官网下载安装包,默认配置安装-**配置全局信息**:```bashgitconfig...

idea版的cursor:Windsurf Wave 7(ideawalk)

在企业环境中,VisualStudioCode和JetBrains系列是最常用的开发工具,覆盖了全球绝大多数开发者。这两类IDE各有优势,但JetBrains系列凭借其针对特定语言和企业场景的深度...

Ai 编辑器 Cursor 零基础教程:推箱子小游戏实战演练

最近Ai火的同时,Ai编辑器Cursor同样火了一把。今天我们就白漂一下Cursor,使用免费版本搞一个零基础教程,并实战演练一个“网页版的推箱子小游戏”。通过这篇文章,让你真正了解cursor是什么...

ChatGPT深度集成于苹果Mac软件 编码能力得到提升

【CNMO科技消息】近日,OpenAI发布了针对MacOS的桌面应用程序,并宣布了一系列与各类应用程序的互操作性功能,标志着ChatGPT正在从聊天机器人向AI智能体工具进化。此次发布的MacOS桌面...

日常开发中常用的git操作命令和使用技巧

日常开发中常用的git操作命令,从配置、初始化本地仓库到提交代码的常用git操作命令使用git前的配置刚使用git,先要在电脑上安装好git,接着我们需要配置一下帐户信息:用户名和邮箱。#设置用户名...

Trae IDE 如何与 GitHub 无缝对接?

TraeIDE内置了GitHub集成功能,让开发者可以直接在IDE里管理代码仓库和版本控制。1.直接从GitHub克隆项目如果你想把GitHub上的代码拉到本地,Trae提供了...

China's diplomacy to further provide strong support for country's modernization: FM

BEIJING,March7(Xinhua)--ChineseForeignMinisterWangYisaidFridaythatChina'sdiplomacywil...

三十分钟入门基础Go(Java小子版)(java入门级教程)

前言Go语言定义Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态、强类型、编译型语言。Go语言语法与...

China will definitely take countermeasures in response to arbitrary pressure: FM

BEIJING,March7(Xinhua)--Chinawilldefinitelytakecountermeasuresinresponsetoarbitrarypre...

Go操作etcd(go操作docker实现沙箱)

Go语言操作etcd,这里推荐官方包etcd/clientv3。文档:https://pkg.go.dev/go.etcd.io/etcd/clientv3etcdv3使用gRPC进行远程过程调...

腾讯 Go 性能优化实战(腾讯游戏优化软件)

作者:trumanyan,腾讯CSIG后台开发工程师项目背景网关服务作为统一接入服务,是大部分服务的统一入口。为了避免成功瓶颈,需要对其进行尽可能地优化。因此,特别总结一下golang后台服务...

golang 之JWT实现(golang gin jwt)

什么是JSONWebToken?JSONWebToken(JWT)是一个开放标准(RFC7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON方式安全地传输信息。由于此信息是经...

一文看懂 session 和 cookie(session cookie的区别)

-----------cookie大家应该都熟悉,比如说登录某些网站一段时间后,就要求你重新登录;再比如有的同学很喜欢玩爬虫技术,有时候网站就是可以拦截住你的爬虫,这些都和cookie有关。如果...

有望取代 java?GO 语言项目了解一下

GO语言在编程界一直让人又爱又恨,有人说“GO将统治下一个十年”,“几乎所有新的、有趣的东西都是用Go写的”;也有人说它过于死板,使用感太差。国外有Google、AWS、Cloudflar...