[备忘.产品]从打印问题的分析,去看程序设计上应考虑的一些方面

        最近继续对打印问题进行梳理,从程序实现角度整理了可能存在的异常状况,和导致这些状况的可能原因。基于此,初步得到一些优化改进项。在已经整理出的优化改进点中,似乎很多就是程序设计上应该考虑和注意的。或许不一定都对,但分享出来供自己备忘,供参考:
1、自动化检测与配置
不仅能减少了用户手动配置,也降低配置错误的风险。比如,程序去自动匹配适合的打印机和纸张,必要时才需要进行人工配置。
但也要警惕,自动规则的严谨性和可靠性,否则还会带来新的问题。
2、强化输入验证
尽量确保所有输入数据的有效性,及时发现问题并做明确提示。
另外,应避免可传/可不传这种模棱两可的情况,因为这样不利于提前检测和事后排查问题。比如,在需要显性指定打印设置相关参数的情况下,就应该启用程序的入参检查。
3、提供详细的错误提示
这类提示,通常不是简单弹出给操作员看。根据场景,通过弹出显示、浏览器F12控制台输出、日志输出等方式,清晰指引用户解决问题。信息包括两个关键部分:
明确的错误原因:当发生错误时,提供具体的错误信息,帮助用户理解问题所在,并给出可能的原因。
解决方案建议:除了报错信息外,还应该提供相应的解决步骤或链接至帮助文档,指导用户如何修复问题。
4、合理的日志记录与分析
一些错误不容易避免,这时日志等工具就是一个重要手段。
记录每一个关键操作及其结果,包括成功和失败的情况,方便事后追溯。基于此,提供方便的日志可视化查询和分析,能帮助现场人员快速排查定位问题并解决。这样,能将技术支持人员的问题排查思路、工具和最佳实践封装起来,直接提供给用户和支持团队,从而提高问题的解决效率。
5、用户友好的界面交互
典型如,为长时间运行的任务(HTML打印)提供实时进度更新,让用户知道当前状态。
6、增强对环境因素的考虑,以及对安全性、可扩展性、兼容性等方面的设计
程序通常不会运行在理性环境中。对相关因素的提前考量,对程序稳定运行和保障用户数据安全是比较重要的。
7、程序不一定要解决所有问题
有些是超出程序范畴,有些是成本和复杂度过高,......
所以,有时应该要考虑和区分——哪些问题是值得并且可以由程序来解决的,哪些则更适合通过其他方式处理。
比如,对于打印机和驱动的检测适配,单从程序上可能不太好解决,但通过《各种常见打印机的典型问题清单》也可以应对。遇到问题或新上打印机时,根据打印机型号去快速查阅,帮助判断是否兼容、驱动版本要求、稳定性如何等。

附录:优化改进
├── 事前预防
│   ├── 提示优化(事前-引导正确操作的提示信息)
│   ├── 功能改进.合理性(事前)
│   │   ├── 减少人工设置
│   │   └── 打印设置提供更合理的缺省值
│   ├── 事前检测预警
│   │   ├── 网页组件安装/启动时提前处理组件的下载和检测
│   │   ├── 完善报表设计器的校验检查规则
│   │   └── 完善服务控制台对服务异常状况的检测和警告提醒
│   ├── 公共组件抽取
│   └── 规范约束
│       └── 对接的公共JS库优化+规范要求
├── 事中监测
│   ├── 打印任务进度可视化
│   ├── 资源占用检测
│   ├── 网络连接稳定性检查
│   ├── 异常处理与自动恢复
│   └── 错误即时通知:明确的错误提示,以及排查解决方案
├── 事后检测
│   ├── 提示优化(事后-错误发生后的提示与指引)
│   ├── 基于“日志”的辅助排查功能
│   ├── 基于日志的分类查询、统计
│   └── 提供客户端异常上报
├── 配套检测工具
│   └── 程序及运行环境检查工具
├── Q/A指南
│   └── 《各种常见打印机的典型问题清单》
└── 反馈&跟进
    ├── 案例跟进
    │   └── 传入的打印参数不正确
    │   └── HTML打印与预览效果不一致(html样式影响)
    └── 反馈机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俊哥V

这是个嘛?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值