软件开发的一点感想
程序员文章站
2022-06-03 20:52:22
...
这两天,遇到工作中的两个小问题,加深了我以前对软件开发的看法。
一个是关于Firefox崩溃问题的处理。
本来我一直用得好好的Firefox2.0突然打不开了,现象是只出现任务栏的button(见我重现问题的截图),或是要求我输入上网代理账号(公司内部不是匿名上网),但那个“确认”按钮怎么点击都无效。几个月前我遇到过一次,最后是*重装,但我喜欢的一堆plugin都得重新寻找、下载,包括收藏、使用偏好等,花的时间不亚于装个OS。现在咋办?虽然我尝试去研究firefox在“Documents and Settings”下的preference,并且google “firefox startup bug”等,但最后还是失败而返。
其实,现在最难的就是:问题发生在哪里?根据现象,我觉得问题应该是发生在Firefox初始化时,需要连接到网络,譬如检测firefox最新版。在定位问题后,我用firefox的安全模式(firefox.exe –safe-mode)登录,进入后去掉了代理设置。重启,ok,然后在“选项”里面重新启用代理,可以正常google了。但退出firefox后,重新启动,问题依然。
怎么解决?也就是不用每次启动firefox时确认那个代理对话框。找个匿名代理不就ok了吗?我想到曾经用过CCProxy的二级代理功能,于是我在本机安装一个它的共享版(仅支持三用户),在CCProxy里面设置我的上网代理IP,账号、密码。再把firefox的上网代理设置成CCProxy的IP、端口,但用的是匿名上网(CCProxy每次随系统启动)。
问题搞定!
另外一件事情是关于表格对齐的问题。
一位同事用Word做表格排版时,一表格cell居中对齐,弄了半天都没好(见截图示例),其它都是以前别人弄好的,不知道为什么丢下这个:怎么让那个橘红色的文本上下对齐格式和其它几个一致?大家都知道,Word的工具、菜单项都好几百,还有很多在菜单没显示,需要“自定义”的,一个个漫无目的尝试挺费劲的。现在我们怎么去定位这个问题?我们一般会在“格式”菜单里面去找(抛开无分类的快捷键),但怎么试都不行。其实,仔细想想,让文字在table的cell里面定位,是调节文字本身,还是调节cell属性?如果是调节文字的话,我们就应该选择文字吧?大家也可以想想,Word工具条上的那个“居中”功能,是归属哪个菜单(当然,对于纯文字居中,和table的cell居中,功能是不一样的,类似于OO的多态)。
问题在我定位后,轻易就解决了。
从上面两个示例,大家想到了一些共通点吗?我觉得有两个:
1、怎么去定位问题。
2、怎么去解决问题。这比定位问题容易。
其实,在软件开发工程中,我觉得我花时间最多的,往往不是解决问题,而且寻找、定位问题,也就是常说的debug能力。大家觉得上面两个问题和软件开发关系大吗?其实,我觉得,软件开发、设计,和它们解决的是同类问题。
软件开发,我觉得最重要的一种能力,就是抽象思维:寻找问题的共通点、规律,发现现象背后的本质。大家认同吗?
我又想,哪个学科不是这样呢?只是软件开发更突出点。
一个是关于Firefox崩溃问题的处理。
本来我一直用得好好的Firefox2.0突然打不开了,现象是只出现任务栏的button(见我重现问题的截图),或是要求我输入上网代理账号(公司内部不是匿名上网),但那个“确认”按钮怎么点击都无效。几个月前我遇到过一次,最后是*重装,但我喜欢的一堆plugin都得重新寻找、下载,包括收藏、使用偏好等,花的时间不亚于装个OS。现在咋办?虽然我尝试去研究firefox在“Documents and Settings”下的preference,并且google “firefox startup bug”等,但最后还是失败而返。
其实,现在最难的就是:问题发生在哪里?根据现象,我觉得问题应该是发生在Firefox初始化时,需要连接到网络,譬如检测firefox最新版。在定位问题后,我用firefox的安全模式(firefox.exe –safe-mode)登录,进入后去掉了代理设置。重启,ok,然后在“选项”里面重新启用代理,可以正常google了。但退出firefox后,重新启动,问题依然。
怎么解决?也就是不用每次启动firefox时确认那个代理对话框。找个匿名代理不就ok了吗?我想到曾经用过CCProxy的二级代理功能,于是我在本机安装一个它的共享版(仅支持三用户),在CCProxy里面设置我的上网代理IP,账号、密码。再把firefox的上网代理设置成CCProxy的IP、端口,但用的是匿名上网(CCProxy每次随系统启动)。
问题搞定!
另外一件事情是关于表格对齐的问题。
一位同事用Word做表格排版时,一表格cell居中对齐,弄了半天都没好(见截图示例),其它都是以前别人弄好的,不知道为什么丢下这个:怎么让那个橘红色的文本上下对齐格式和其它几个一致?大家都知道,Word的工具、菜单项都好几百,还有很多在菜单没显示,需要“自定义”的,一个个漫无目的尝试挺费劲的。现在我们怎么去定位这个问题?我们一般会在“格式”菜单里面去找(抛开无分类的快捷键),但怎么试都不行。其实,仔细想想,让文字在table的cell里面定位,是调节文字本身,还是调节cell属性?如果是调节文字的话,我们就应该选择文字吧?大家也可以想想,Word工具条上的那个“居中”功能,是归属哪个菜单(当然,对于纯文字居中,和table的cell居中,功能是不一样的,类似于OO的多态)。
问题在我定位后,轻易就解决了。
从上面两个示例,大家想到了一些共通点吗?我觉得有两个:
1、怎么去定位问题。
2、怎么去解决问题。这比定位问题容易。
其实,在软件开发工程中,我觉得我花时间最多的,往往不是解决问题,而且寻找、定位问题,也就是常说的debug能力。大家觉得上面两个问题和软件开发关系大吗?其实,我觉得,软件开发、设计,和它们解决的是同类问题。
软件开发,我觉得最重要的一种能力,就是抽象思维:寻找问题的共通点、规律,发现现象背后的本质。大家认同吗?
我又想,哪个学科不是这样呢?只是软件开发更突出点。
上一篇: 您的电子邮件签名了吗? - zt