原文地址:https://blog.csdn.net/haoyujie/article/details/80601455

1.  问题引出

这向天,在编写一系列文档。

其中一篇要今天交,前天写好后,一个不小心的操作,多级序号全都乱了。

作为一名典型的中国人,首先我认为是自己不努力,今晚抽出时间,想要解决这个问题。

发现,完全找不到门。

无奈之余,只好百度一下,最近没有办法google了,只好百度。百度上一群人给出的意见都没有用处。

然后去biying了一下,如下,发现有许多人,认为这的确是一个bug.

噢,TMD,是bug???

https://blogs.msdn.microsoft.com/timid/2013/08/29/stupid-microsoft-word-trick-multilevel-numbered-headings/

而且里面的内容说,从2000年就开始了,

好吧。NND,真是令人气氛。

因为这个问题,华人遇到的比较多。后面我们分析原因,但显然,欧美人也好不到哪去!!!

微软从2000年开始,就一直养着这个bug,我们后面也从人性和项目管理的还有公司组织的角度分析一下,耽误我这么长时间。

对了,微软中国那个特别能吹的什么亚勤,这么多年,干什么去了呢?只能怀疑这人可能不用word, 是啊,大家会用PPT,会吹就足够了。

咱们先来解决问题,再来好好吐槽.
如何解决多级列表的bug

先说几句,有人会说,你这个人有问题,你怎么就知道这是个bug呢?这个后面咱们再来抬杠,这的确是个bug.

先说怎么解决吧。

尝试了各种可能性。

一直解决不了。

后来,我想了想,既然有人说这是一个bug,微软是不会随便出bug的,那么,可以从程序员的角度想一下。

程序员,最怕什么?

如果你开的是one person shop,当然是只需要担心是用户不满意了;

但如果你在微软上班,特别是阿三这种思维模式的,用户算个P,只要测试部没办法给我提bug就可以了。

注意,这里面的问题,我提到后面应该说的,在微软的程序员的角度,bug被定义成,测试人员,没办法挑毛病。

嘿!TMD,我们用户背锅吧!

有了这个想法,我立即豁然开朗了。立即猜出来怎么解决了:这二货(但在规避测试方面,是个高手),把多级列表对象与样式表对象,完全分离了!气死人啊。

总之呢,我这个文档,所有的列表项,都要重新处理一遍了!不过总算是解决了问题。
为什么说这是个bug,后面微软到底出了什么问题

这里面,牵扯到一个最最基本的问题,也是最让人头疼的问题:什么是bug.

以前,bug的定义,很简单,也很正确,因为简单的,价值链条是供需双方直接见面的,一定是对的:

以前的bug是这么定义的:与用户的预期不一致。

后来,所谓的软件业,要进行规范化,比如,微软在2002年,过了CMM2,后来还竟然过了CMM4,我操,这个我当时也觉得不敢相信,CMM2就是可以重复了级别的,但我听说,世界上只有一个公司能开发windows,过了CMM2之后,微软历时8年开发出来了空前绝后vista,对不起,可能大多数人没听说过这个东东,我也记不清了。

规范后,那么程序员,面对的,就不再是用户了,而是这些所谓的测试系统。

还记得我讲过的那个NOKIA的测试人员,测苹果的事吧?他拿到后,苦思三天没合眼:如果测出结果比nokia的好,公司一定会把他开掉,因为哪个高管也不想股票跌;如果测得比nokia的差,那就更是事了,与事实不符合,将来公司倒闭时,他就成了最大的背锅者,想了三天,他老婆不小心把这台苹果摔碎了!这下终于想到了办法:苹果手机不结实,达不到准入条件!!!

这下好了。2年后,nokia倒闭了。

现在这个word的multiple list num,也是这么回事。

明知道,与用户的预期不符,但测试部没办法提bug,因为我是站在程序员的角度来写的,这是两个对象:多级列表是一个对象,样式表是一个对,两个对象不相关,用户笨,这不是我程序员的错!

结果是,这样一个站在用户角度,100%是个大bug的问题,过了快20年,还没有解决!

可能还能再过20年。

操。

美国这些年是真不行了。

当然,可能还是有人不服,既然你现在能用了,为什么硬说这是个bug。

这里面,几个原因:

1. 用户写好文章后, 这时,“改”了多级列表,那个改字,我加了引号啊,因为还有一个bug是不让改,这个等会再说,现在的“改”,是用户新建了一个列表的样式,但是用户不可能把所有的级别一起改了,结果是,列表全乱了。

而且,99.99%的用户,这个时候完全是蒙的~~~~我没做错什么啊,上帝为什么要这样对我呢?

就这一点来说,这已经肯定是个bug:刨去把用户当成诸葛亮这件事以外,你不能因为用户的改变,把用户以前的成果破坏掉,这是一个起码的原则。

2. 用户有后悔的权力:好吧,我服了你,但用户发现,再也退不回去了。

为什么呢?因为这个新增的列表,再也删除不掉了。。。。。。。一群乌鸦飞过。一会排成个S一个排成个B啊。

我是服了微软这些仁了。

3. 如果我们叫点真,看一下这张图:

用户已经养成了用上面这几个按钮来标记级别。

在用户看来,多级序号,是这个级别的一个附属品。

这是很正常的思维。

但无奈,程序员的思维比较奇葩啊!

从上图我认为,这就是bug,标题一,标题二那按钮有多大?

再看分级列表在哪呢:

完全不在一个量级上。

但用户万万没想到,这个分级列表,才是大拿!那个看着特大号的“标题一,标题二,“,是太监。

我kao,也就我是程序员,普通百姓,如何能想明白呢?

这么说吧,我在百度上看一顿找,没一个说对的。

这种程序员,真是在谋财海明,当然了,这也是体制决定的:还是那句话:没有有问题的员工,只有有问题的体制!

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

应当如何来解决这个bug:

这里面,实际上很简单,很简单:

只需要用户可以改变默认的列表就可以了。

好了。太晚了,回去睡了。

真不明白,为什么雷军醉心于PPT,抱着WPS这样的金砖去要饭,还有,当年没有收购foxmail也是雷军一大失误,君子误国啊

[转]微软word的多级列表的bug的解决办法和吐槽的更多相关文章

  1. Word自定义多级列表样式

    Word自定义多级列表样式: 1. 2. 3.取个名字 在这里鼠标移上时显示 : 4. 5. 定义完成,即可使用:

  2. 【转载】IE浏览器常见的9个css Bug以及解决办法

    IE浏览器常见的9个css Bug以及解决办法 我们在浏览网页的时候经常看见这样的现象:某个网页在IE6浏览器中打开很正常,但是在IE8里面打开可能完全变形了.或者也有可能出现完全相反的现象.这让We ...

  3. Dumpzilla工具第615行bug的解决办法

    Dumpzilla工具第615行bug的解决办法   在Dumpzilla使用选项frequency时,会提示SQL语法错误.这是由于其中SQL语句编写错误.需要将615行中: where url l ...

  4. 记CRenderTarget:DrawText()绘制中文乱码的BUG及解决办法

    原文:记CRenderTarget:DrawText()绘制中文乱码的BUG及解决办法 转载请注明出处:http://www.cnblogs.com/Ray1024 一.问题描述 在MFC中使用Dir ...

  5. word定义多级列表

    1.单击开始选项卡里的多级列表按钮,在下拉列表中选择定义新的多级列表 2.先设置第一级编号,选择阿拉伯数字1,2,3,...,并在自动编号“1”的左右分别输入“第”“章”,级别链接到样式选择标题一 3 ...

  6. RCP: P2 Update两个烦人bug和解决办法

    问题 Eclipse新的P2 Update机制,使用起来很方便,如果使用P2 plugin自带的UI,开发者完全不用写任何代码 即可实现application的在线更新. 但是P2 Update至少有 ...

  7. (原创)spring mvc和jersey rest 组合使用时单例对像实例化两次的BUG及解决办法

    项目中没用spring 的restTemplate 而是采用 jersey来做rest 的实现,一直用着,也没发现有什么不对,后来加入了,以quartz用硬编码方式实现,结果启动项目的时候报错 ,具体 ...

  8. ie6双边距bug及其解决办法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 最新版jQuery v3.3.1的BUG以及解决办法(什么问题不重要,怎么解决问题才重要)

    发现问题 最新版的 FineUIPro v5.2.0 中,我们将内置的 jQuery v1.12.4 升级到 jQuery v3.3.1 ,可以看升级记录: +升级到jQuery v3.3.1.    ...

随机推荐

  1. 拖拉插件 drag drop

    https://hejx.herokuapp.com/vue-dndl # Installation npm install vue-drag-and-drop-list --save # Usage ...

  2. LeetCode - 86、分隔链表

    给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1->4-&g ...

  3. win10 64下anaconda4.2.0(python3.5)

    python环境:win10 64下anaconda4.2.0(python3.5).安装tensorflow过程是在Anaconda Prompt中进行安装 1:打开Anaconda Prompt ...

  4. InvenSense 美国公司

    InvenSense为智能型运动处理方案的先驱.全球业界的领导厂商,驱动了运动感测人机接口在消费性电子产品上的应用.公司提供的集成电路(IC)整合了运动传感器-陀螺仪以及相对应的软件,有别于其他厂商, ...

  5. C#屏蔽Alt+F4组合键

    在开发的软件不希望用户关闭的情况下,或者我们不想用户回到桌面,这时候我们就需要屏蔽windows键,或者Alt + F4 键等. //1.将窗体的属性KeyPrieview设置为true //keyp ...

  6. Oracle查询一个命名空间下所有表和视图的表名、字段名、字段类型、字段大小,是否可为NULL,主键和注释信息

    使用SQL查询Oracle一个命名空间下所有表和视图的表名.字段名.字段类型.字段大小,是否可为NULL,主键和注释信息. SQL如下,注意需要将'CDFLOOD'更换为您要查询的命名空间: sele ...

  7. dedecms列表页使用noflag

    最近小编使用dedecms遇到列表页需要使用noflag,在网上找了一圈都是直接替换代码,试用了一下并不能解决问题. 以下是小编自己根据资料整理的...多说一句由于各个编辑器打开的方式可能代码不在这一 ...

  8. LightOJ - 1173 - The Vindictive Coachf(DP)

    链接: https://vjudge.net/problem/LightOJ-1173 题意: The coach of a football team, after suffering for ye ...

  9. loj #6191. 「美团 CodeM 复赛」配对游戏 期望dp

    题意:有一个栈,随机插入 $n$ 次 $0$/$1$ 如果栈顶是 $1$,然后插入 $0$,则将这两个元素都弹出,否则,插入栈顶. 求:$n$ 次操作后栈中期望的元素个数. 我们发现,按照上述弹栈方式 ...

  10. Jenkins - Update information obtained: 不可用 ago;

    Jenkins 添加插件 jenkins plugin提示: Update information obtained: 不可用 ago: 编辑 hudson.model.UpdateCenter.xm ...