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

源 / 开源中国

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

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

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

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

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

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

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

-END-

转载声明:本文转载自「开源中国」

原文发布于微信公众号 - 顶级程序员(TopCoding)

原文发表时间:2018-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

.Net 分布式云平台基础服务建设说明概要

.Net 分布式云平台基础服务建设说明概要 1) 背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展。 2) 基础服务 根据目前对业务的理解和...

4008
来自专栏GopherCoder

『requests-html 源码学习: 1』

1674
来自专栏数据和云

【从根源出发,化风险为可控】应用到数据库的连接数管控

作者介绍 ? 巩飞(Morinson) 云和恩墨技术专家 网名Morinson,现服务于云和恩墨西北区,有14年在IT公司的技术类工作经验,特别是在 Ora...

3155
来自专栏程序员宝库

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

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

1405
来自专栏后端技术探索

一步步构建大型网站

今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也...

962
来自专栏CSDN技术头条

Instagram 的持续部署实践

在Instagram,我们每日部署后端代码的次数达30-50次,只要有工程师将修改内容提交到主服务器,部署就会进行,而且在大多情况下无需人工介入。这听起来也许很...

23010
来自专栏杨建荣的学习笔记

使用shell脚本得到MySQL实例列表

之前从主机,实例,业务,集群几个维度来完善了运维平台的元数据信息,把流程贯穿起来,也确实看到了一些好处,但是有一个点很重要,也是我们容易忽略的:有些元数...

1232
来自专栏Netkiller

PHP 7.0.0 一键安装脚本

OSCM (Operation System Configure Management) 是我创建的一个自动化运维脚本的项目,旨在提供敏捷运维。传统自动化运维工...

3305
来自专栏CDA数据分析师

敲黑板!你和GitHub高手就差这三条规则······

本文不会介绍如何创建 GitHub 简历或如何使用终端提交 Git。我将解释每天使用 Git 和 GitHub 的重要性,尤其对于正在学习写代码的人。我还将分享...

1492
来自专栏架构之美

五分钟学会智能多通道推送(PUSH)技术

2762

扫码关注云+社区

领取腾讯云代金券