看似简单的 Windows 记事本,其实维护起来并不简单

2018 年 5 月 25 日 开源中国


相信大家对 Windows 系统自带的记事本程序都不会陌生,在座的各位或许还有用它来写代码的经历。看上去它的功能非常简单,但你能否想到即便功能如此简单的程序,也需要有人专门维护?


近日,微软资深程序员、《Old New Thing》作者 Raymond Chen 在博客发文表示,维护记事本虽然不是一项全职工作,但也不是一项空置的工作。据 Raymond Chen 透露,Windows 系统自带的记事本程序一直由一名已经退休的同事负责维护,而且维护记事本程序并不简单,记事本要经常用于测试,当一个团队引入一项新功能,他们可能会要求记事本支持这项功能以获得相关的反馈。


文章还提到了记事本一些隐藏的功能,例如,你可能不知道记事本的“文件-打开对话框”可以输入任意网址,然后即可获得该网页的源代码。





文章还说到了记事本有两项值得一提的改进,一个是状态栏,另一个是如何快速加载文件。


首先是状态栏,当插入符号在编辑控件中移动时没有明显的通知方式,维护人员想出了一个办法:记事本注册自己的对象位置更改辅助功能通知。这样,它可以知道插入符的移动时间,又可以通过更新状态栏和插入符的当前位置来进行响应。


而对于如何快速的加载文件。维护人员通过提前将文本内容加载到内存中,通过内存映射计算出文件编码,然后将结果放到内存块中,再将内存块内容传递给编辑控件,这也是记事本能编辑被锁定的文件的原因。


当然,让这位“孤独”的记事本守护者最开心的还是,通过优化加载文件功能,使得记事本的代码量大大减少,还提升了记事本的性能。



参与「程序员专属信用卡调研

让我们打造最适合程序员的信用卡!


美食、购物、航旅…优惠折扣等着你哦~


扫码参与投票




推荐阅读

联想回应“反对预装国产系统”消息:谣言,一直支持国产

锤子又为开源捐款!480 万门票收入捐给 OpenSSL 与 OpenBSD

吃透这套架构演化图,从零搭建 Web 网站也不难!

“操作系统是中国网络安全短板,建议都用国产系统”

谷歌终于开放 ".app" 顶级域名注册

点击“阅读原文”查看更多精彩内容

登录查看更多
0

相关内容

【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
可能是 Android 上最好用的写作 App
少数派
10+阅读 · 2018年12月21日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
python帅到没朋友的填充软件
运维帮
4+阅读 · 2018年5月30日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
共享单车惨遭共享:一款App能骑9种车到底是啥神器?
黑客技术与网络安全
4+阅读 · 2017年7月6日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
21+阅读 · 2018年2月14日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
相关资讯
可能是 Android 上最好用的写作 App
少数派
10+阅读 · 2018年12月21日
为什么分布式一定要有消息队列?
互联网架构师
4+阅读 · 2018年7月5日
python帅到没朋友的填充软件
运维帮
4+阅读 · 2018年5月30日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
共享单车惨遭共享:一款App能骑9种车到底是啥神器?
黑客技术与网络安全
4+阅读 · 2017年7月6日
Top
微信扫码咨询专知VIP会员