《代码大全》阅读笔记-30-编程工具

你至少能在以下领域找到高质量的程序库

  • 容器类
  • 信用卡交易服务(电子商务服务)
  • 跨平台的开发工具,你可以让编写的代码在Windows、AppleMacintosh、XWindowSystem上都能运行一一一只需为各个环境重新编译一次源代码
  • 数据压缩工具
  • 数据结构与算法
  • 数据库操作工具与数据文件操控工具
  • 图解/图示/图表工具
  • 图像工具
  • 许可证管理器
  • 数学运算
  • 网络与互联网通信工具
  • 报表生成器与报表查询@portque引生成器
  • 安全与加密工具
  • 电子表格和数据网格工具
  • 文本与拼写工具
  • 语音、电话与传真工具

下列功能特性和工具有助于你进行有效的测试

  • 自动测试框架,如JUnit、NUnit、CppUnit等
  • 自动化的测试生成器
  • 测试用例的记录和回放工具
  • 覆盖率监视器(逻辑分析器和执行剖测器)
  • 符号调试器
  • 系统扰动器(内存填充工具、内存“抖动”工具、选择性的内存失效的工具、内存访问检查器)
  • Diff工具(比较数据文件、截获的输出、屏幕图像等)
  • 脚手架
  • 缺陷注入工具
  • 缺陷跟踪软件

核对表(编程工具)

  • 你有一套有效的工具集吗?
  • 你的IDE集成了:源代码控制、bul测试/除错工具,以及其他有用的功能吗?
  • 你有能自动进行常用的重构操作的工具吗?
  • 你是否使用版本控制工具,对源代码、内容、需求、设计、项目计划及其他的项目构件进行管理?
  • 如果你正面对超大型的项目,你是否使用了数据字典或者其他“包含系统中使用的各个类的权威描述"的中央知识库。
  • 当可以用到代码库时,你是否考虑用它来代替“编写定制代码”?
  • 你是否充分利用了交互式除错器?
  • 你是否使用make或其他“依赖关系控制软件”,用来高效并可靠地build程序?
  • 你的测试环境包含有自动化的测试框架、自动测试生成器、覆盖率监视器、系统扰动器、diff工具,以及缺陷跟踪软件吗?
  • 你有没有制造过定制工具一一能满足特定项目的需求的那种,特别是能自动执行重复任务的工具?
  • 总而言之,你的工作环境有没有从“充足的工具支援”中获益

要点

  • 程序员有时会在长达数年的时间里忽视某些最强大的工具,之后才发现并使用之。好的工具能让你的日子过得安逸得多。
  • 下面这些工具己经可用了:编辑、分析代码质量、重构、版本控制、除错、测试、代码调整。
  • 你能打造许多自己用的专用工具。
  • 好的工具能减少软件开发中最单调乏味的工作的量,但它不能消除对“编程”的需要,虽然它会持续地重塑“编程”的含义。
posted @ 2018-04-06 15:28  Tacey Wong  阅读(853)  评论(0编辑  收藏  举报