首页 > 其他 > 详细

第三十章 编程工具

时间:2019-09-28 18:21:16      阅读:70      评论:0      收藏:0      [点我收藏+]

设计工具

目前的设计工具主要就是那些能创建设计图表的图形化工具。

源代码工具

编辑

  • 集成开发环境(IDE);
    • 在编辑器中进行编译和错误检测;
    • 与源代码控制工具、build工具、测试工具、除错工具集成;
    • 显示程序的扼要视图或大纲视图;
    • 跳转到类的定义、子程序定义、变量定义处;
    • 跳转到使用某个类、子程序、变量的全部位置;
    • 针对特定语言的编排格式;
    • 针对正在编辑的语言的交互式帮助;
    • 花括号匹配;
    • 常用语言的结构模板;
    • 智能缩进;
    • 自动化的代码转换或重构;
    • 可以用熟悉的编程语言进行宏编程;
    • 列出查找的字符串,使常用的字符串无需重新键入;
    • 在查找和替换时可用正则表达式;
    • 在一组文件中进行查找和替换;
    • 同时编辑多个文件;
    • 双列式的diff对比;
    • 多级编辑动作撤销;
  • 针对多个文件的字符串查找和替换;
  • diff工具;
  • merge工具;
  • 源代码美化器;
  • 生成接口文档的工具;
  • 模板;
  • 交叉引用工具;
  • 类的继承体系生成器。

分析代码质量

  • 吹毛求疵的语法/语义检查器;
  • 尺度报告器。

重构源代码

  • 重构器;
  • 结构改组工具;
  • 代码翻译器。

版本控制

  • 源代码控制;
  • 依赖关系控制,类似UNIX下提供的make工具;
  • 项目文档的版本管理;
  • 将项目的工件关联到一起,这样当需求发生变更时,你能找出收影响的代码和test cases。

可执行码工具

产生目标码

  • 编译器与链接器;
  • Build 工具;
  • 程序库;
    • 容器类;
    • 信用卡交易服务;
    • 跨平台开发工具;
    • 数据压缩工具;
    • 数据结构与算法;
    • 数据库操作工具与数据文件操控工具;
    • 图解/图示/图表工具;
    • 图像工具;
    • 许可证管理器;
    • 数学运算;
    • 网络与互联网通信工具;
    • 报表生成器与报表查询生成器;
    • 安全与加密工具;
    • 电子表格和数据网格工具;
    • 文本与拼写工具;
    • 语音、电话与传真工具;
  • 代码生成向导;
  • 安装;
  • 预处理器;

调试

下列工具有助于程序调试:

  • 编译器的警告信息;
  • 测试用的脚手架;
  • Diff工具;
  • 执行剖测器;
  • 追踪监视器;
  • 交互式调试器——软件版和硬件版。

测试

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

  • 自动测试框架,如JUnit、NUnit、CppUnit等;
  • 自动化的测试生成器;
  • 测试用例的记录和回放工具;
  • 覆盖率监视器;
  • 符号调试器;
  • 系统扰动器;
  • Diff工具;
  • 脚手架;
  • 缺陷注入工具;
  • 缺陷跟踪软件。

代码调整

  • 执行剖测器;
  • 汇编代码清单和反汇编。

核对表:编程工具

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

要点

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

第三十章 编程工具

原文:https://www.cnblogs.com/liam-ji/p/11604083.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!