这可能是一个被大家忽略的话题。工具的开发,往往是软件开发过程中不可或缺的关键因素。它们往往涉及到程序数据的制作,而这又是一个复杂系统完成的必要前提。

谈起这个话题,其实更是一种倡议,希望我们能重视软件开发过程中的工具开发。

在项目开发过程中,做得好的项目,往往会在项目初期就设计好需要开发哪些工具,并且会组织开发这些工具。这本身并没有什么可说的。可是我们先来看看实际情况吧。

最近一段时间,我接触了这些工具的一些使用者。有几种典型情况,可能是我们设计者当初没有意识到的:

  1. 软件数据的生成完全依赖于这些工具,而这些工具却是工作的效率瓶颈。
  2. 工具使用者和工具开发者几乎隔离,因此针对工具的反馈和需求很难第一时间进行处理,甚至没有联系。
  3. 工具可能在项目解散后继续使用。这是很可能的,但这个时候工具的维护就变成了互相推诿的过程,谁也不愿意背上这些琐碎的维护任务。
  4. 工具中的设计或实现失误,往往是一些无法预计的工作流程出现的根结!

上面的任意一点,都足以让我们意识到工具开发中质量的重要性。可惜的是,我们不容易意识到这一点。

在工具开发的初期以及工具开始使用后,往往会有一些有关易用性的提议被否决,理由往往是因为项目太忙,以后再说。所以在这里我要说:勿以善小而不为!你的每一次小小的修改,对以后的工作将起到巨大的作用。

工具的质量保障非常重要,对于提出的质量反馈应该做到及时修改。更重要的是对于易用性的改进!并尽量考虑工具的自动化性、执行性能。这些相对来说更重要。毕竟,BUG在早期还是容易发现的,可是易用性、自动化、性能这三方面却不是那么容易改进的。这就要求我们的工具设计者能够尽量地考虑清除,在有条件的情况下,设计者应该尽量做到试用一下全过程。并且应该针对大数据量进行测试。

说到现在,除了对工具设计者的能力提出了要求之外,更是要求我们的设计者要有这个心。不光将软件设计的心放在系统软件上,也同样要放到我们自己使用的工具上。

一个小的善举,就是工作效率的大大提升。所以我要说,针对工具开发,勿以善小而不为啊!

转载于:https://www.cnblogs.com/ohmyjava/archive/2007/09/10/2141873.html

工具开发:勿以善小而不为相关推荐

  1. 系统设计与架构笔记:ETL工具开发和设计的建议

    好久没写博客了,不是自己偷懒,的确是没有时间哦. 最近项目组里想做一个ETL数据抽取工具,这是一个研发项目,但是感觉公司并不是特别重视,不重视不是代表它不重要,而是可能不会对这个项目要求太高,能满足我 ...

  2. [原创]Android Monkey 在线日志分析工具开发

    [原创]Android Monkey 在线日志分析工具开发 在移动App测试过程中,Monkey测试是我们发现潜在问题的一种非常有效手段,但是Android原生的Monkey有其天然的不足,数据不能有 ...

  3. 【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★

    文章目录 一.Android 进程注入工具开发系列博客 二.Android 进程注入工具 源码下载编译 三.逆向环境搭建 四.使用注入工具进行逆向操作 1.获取远程进程号 2.注入工具准备 3.注入动 ...

  4. 【Android 逆向】Android 进程注入工具开发 ( 远程调用 | x86 架构的返回值获取 | arm 架构远程调用 )

    文章目录 前言 一.x86 架构的返回值获取 二.ARM 架构远程调用 前言 在之前的博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程 中的 ...

  5. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )

    文章目录 一.dlclose 函数简介 二.关闭注入的 libbridge.so 动态库 三.恢复寄存器 四.脱离远程调试附着 一.dlclose 函数简介 dlclose 函数的作用是 卸载一个 指 ...

  6. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )

    文章目录 一.dlsym 函数简介 二.获取 目标进程 linker 中的 dlsym 函数地址 三.远程调用 目标进程 linker 中的 dlsym 函数 获取 注入的 libbridge.so ...

  7. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 linker 中的 dlopen 函数地址 并 通过 远程调用 执行该函数 )

    文章目录 一.dlopen 函数简介 二.获取 目标进程 linker 中的 dlopen 函数地址 三.远程调用 目标进程 linker 中的 dlopen 函数 一.dlopen 函数简介 dlo ...

  8. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )

    文章目录 前言 一.等待远程进程 mmap 函数执行完毕 二.从寄存器中获取进程返回值 三.博客资源 前言 前置博客 : [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | ...

  9. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )

    文章目录 一.准备 mmap 函数的参数 二.mmap 函数远程调用 一.准备 mmap 函数的参数 上一篇博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 远程调 ...

  10. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )

    文章目录 一.调试进程 ATTACH 附着目标进程 二.读取目标函数寄存器值并存档 1.主要操作流程 2.ptrace 函数 PTRACE_GETREGS 读取寄存器值 一.调试进程 ATTACH 附 ...

最新文章

  1. 苹果新算法已混进 iOS 14.3!CSAM 检测技术再遭网友争议
  2. Python之路(第二十一篇) re模块
  3. 数据结构:链表面试题
  4. Python Web部署方式总结
  5. Android_动态壁纸介绍
  6. VS2017 installed in a different location
  7. mybatis配置id自增mysql_mybatis配置oracle的主键自增长
  8. OCJP试题分析第一章
  9. SAP CRM Attachment read - performance issue
  10. CSS只是进化的一部分
  11. “约见”面试官系列之常见面试题第二十三篇之get和post区别(建议收藏)
  12. 835 由于安全层无法对远程计算机进行身份验证_vscode 插件Remote-ssh远程wsl调试python
  13. postman参数化--上一个接口返回的数据作为下一个接口的参数
  14. 如何将Linux还原为win10,技术编辑为你解说win10系统Linux Bash命令的还原步骤
  15. 【转】Sql Server 跨服务器连接
  16. java中table属性_div实现table功能
  17. FFmpeg编解码器如何
  18. xdb 服务_如何删除默认的XPT和XDB这两个服务
  19. 在Jmeter中添加的JSR223 Sampler后,目前网上资源只有python2.7的jar包,是否有哪位仁兄,有支持python3的jar包,请支持一次。
  20. 三点求圆心坐标(三角形外心)

热门文章

  1. scala map方法源码
  2. Windows核心编程_HOOk SOCKET实现封包拦截
  3. Erlang 之父 Joe Armstrong 逝世,享年 68 岁
  4. oracle中查找某用户执行某张表的操作操作记录
  5. TypeScript基础入门 - 接口 - 简介
  6. Java依旧排名第一,然而变化几何?
  7. 简单的Python购物流程
  8. Python 函数(类)的装饰器与闭包
  9. postfix+web页面+身份验证
  10. 【JavaScript】回流(reflow)与重绘(repaint)