它能够提供现代化的、通用的编程功能,或者其

作者: 编程  发布:2019-09-22

近来关注于frame支撑包的重构工作,有不少心得

9. JetBrains CLion

JetBrains CLion 是一个收费的、强大的跨平台 C/C++ IDE。它是一个完全整合的 C/C++ 程序开发环境,并提供 Cmake 项目模型、一个嵌入式终端窗口和一个主要以键盘操作的编码环境。

它还提供了一个智能而现代化的编辑器,具有许多令人激动的功能,提供了理想的编码环境,这些功能包括:

  • 除了 C/C++ 还支持其他多种语言

  • 在符号声明和上下文中轻松导航

  • 代码生成和重构

  • 可定制的编辑器

  • 即时代码分析

  • 集成的代码调试器

  • 支持 Git、Subversion、Mercurial、CVS、Perforcevia(通过插件)和 TFS

  • 无缝集成了 Google 测试框架

  • 通过 Vim 仿真插件支持 Vim 编辑体验

9159.com 1

主页: 

 

1. 用于 C/C++ 开发的 Netbeans

到目前为止,已经负责API接近两年了,这两年中发现现有的API存在的问题越来越多,但很多API一旦发布后就不再能修改了,即时升级和维护是必须的。一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的。如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的打击就更大。如果API经常发生变化,用户就会失去对提供方失去信心,从而也会影响目前的业务。

  1. 对于遗留代码,需要一个完整的特性列表(哪怕是非常小的特性也需要),防止新重构的版本出现功能缺失,之前已经有过一两起小事故了,要特别引起注意。
  2. 对于重构的代码,需要完整的测试用例保证其基本功能稳定。别人说过:“勿在浮沙筑高台”,正是这个道理。
  3. 对于核心功能外的扩展功能,设计插件框架(可基于rubygems)来完成工作。这样,核心代码改动很小,用户的需求也可以容易的实现,这个是一个很好的实践,在之前的拓扑算法中已经证明了此点。
  4. 在所有功能都完成后,增加一个兼容性扩展包。我对之前的某些设计非常反感,但是原来已经做了的功能,现在仍要维护,因此将那些垃圾的设计都放到插件中,之间相互隔离,不影响主框架代码。这样大部分用户不会受到影响,只有少部分用户如果需要兼容功能,那么就再安装一个兼容性扩展包就好了,完美!
  5. 文档要注意,对外公开的接口以frame.api.xxxx形式提供,控制执行流程的接口以frame.control.xxxxx信息提供,一旦发布之后就不会修改,确保稳定性

在这篇文章里,我们会向你展示一些可以在 Linux 平台上找到的用于 C++ 或者其他编程语言编程的最好的 IDE。 

9159.com 2

  • 方法优于属性
  • 工厂方法优于构造函数
  • 避免过多继承
  • 避免由于优化或者复用代码影响API
  • 面向接口编程
  • 扩展参数应当是便利的
  • 对组件进行合理定位,确定暴露多少接口
  • 提供扩展点

11. KDevelop

KDevelop 是另一个自由而开源的跨平台 IDE,能够运行在 Linux、Solaris、FreeBSD、Windows、Mac OS X 和其他类 Unix 操作系统上。它基于 KDevPlatform、KDE 和 Qt 库。KDevelop 可以通过插件高度扩展,功能丰富且具有以下显著特色:

  • 支持基于 Clang 的 C/C++ 插件

  • 支持 KDE 4 配置迁移

  • 支持调用二进制编辑器 Oketa

  • 支持众多视图插件下的差异行编辑

  • 支持 Grep 视图,使用窗口小部件节省垂直空间等

9159.com 3

主页: https://www.kdevelop.org

 

它提供了先进的编程工具,比如项目管理、GUI 设计、交互式调试器、应用程序向导、源代码编辑器、版本控制等。此外,除了以上特点,Ajunta DeveStudio 也有其他很多不错的 IDE 功能,包括:

  • 告诉用户我们是如何设计的,避免误用,提供指导,错误的使用往往是缩短API寿命的一大杀手
  • 提供试用期,API不可能一开始就是稳定,经过试用的API才能有更强的生命力
  • 为API分级:内部使用;二次开发使用;开发或试用中;稳定;弃用API。避免API被滥用的同时,我们可以通过调整API的级别,来扩大其影响力,也能更优雅的结束一个API的生命周期。

 

8. Sublime Text 编辑器

9159.com 4

4. CodeLite IDE

CodeLite 也是一款为 C/C++、JavaScript(Node.js)和 PHP 编程专门设计打造的自由而开源的、跨平台的 IDE。

它的一些主要特点包括:

  • 代码补完,提供了两个代码补完引擎

  • 支持多种编译器,包括 GCC、clang/VC++

  • 以代码词汇的方式显示错误

  • 构建选项卡中的错误消息可点击

  • 支持下一代 LLDB 调试器

  • 支持 GDB

  • 支持重构

  • 代码导航

  • 使用内置的 SFTP 进行远程开发

  • 源代码控制插件

  • 开发基于 wxWidgets 应用的 RAD(快速应用程序开发)工具,以及更多的特性

9159.com 5

主页: 

 

Visual Studio 是一个功能丰富的、完全整合的、跨平台开发环境,运行在 Linux、Windows 和 Mac OS X 上。 最近它向 Linux 用户开源了,它重新定义了代码编辑这件事,为用户提供了在 Windows、Android、iOS 和 Web 等多个平台开发不同应用所需的一切工具。

9、 一些具体的实施方案

7. Atom 代码编辑器

Atom 也是一个现代化风格、开源的多平台文本编辑器,它能运行在 Linux、Windows 或是 Mac OS X 平台。它的定制可深入底层,用户可以自定义它,以便满足各种编写代码的需求。

它功能完整,主要的功能包括:

  • 内置了包管理器

  • 智能的自动补完

  • 内置文件浏览器

  • 查找、替换以及其他更多的功能

9159.com 6

主页: 

安装指南: 

 

它丰富的特性包括以下这些:

在一个API不可避免要消亡或者改变的时候,我们应该接受并且面对这个事实,下面列举了几种保证兼容性的前提下,对API进行调整的办法:

14. GNAT Programming Studio

GNAT Programming Studio 是一个免费的、易于使用的 IDE,设计的目的用于统一开发人员与他/她的代码和软件之间的交互。

它通过高亮程序的重要部分和逻辑从而提升源代码导航体验,打造了一个理想的编程环境。它的设计目标是为你带来更舒适的编程体验,使用户能够从头开始开发全面的系统。

它丰富的特性包括以下这些:

  • 直观的用户界面

  • 对开发者的友好性

  • 支持多种编程语言,跨平台

  • 灵活的 MDI(多文档界面)

  • 高度可定制

  • 使用喜欢的工具获得全面的可扩展性

9159.com 7

主页: 

 

主页:

  • 易学习:有完善的文档及提供尽可能多的示例和可copy-paste的代码,像其他设计工作一样,你应该应用最小惊讶原则。
  • 易使用:没有复杂的程序、复杂的细节,易于学习;灵活的API允许按字段排序、可自定义分页、 排序和筛选等。一个完整的API意味着被期望的功能都包含在内。
  • 难误用:对详细的错误提示,有些经验的用户可以直接使用API而不需要阅读文档。

虽然已经有了一些供程序员用来写 C/C++ 代码的文本编辑器,但 IDE 可以为轻松、完美的编程提供综合的环境和组件。

9159.com 8

3、 避免极端的意见

2. Code::Blocks

Code::Blocks 是一个免费的、具有高度扩展性的、并且可以配置的跨平台 C++ IDE,它为用户提供了必备而典范的功能。它具有一致的界面和体验。

最重要的是,你可以通过用户开发的插件扩展它的功能,一些插件是随同 Code::Blocks 发布的,而另外一些则不是,它们由 Code::Block 开发团队之外的个人用户所编写的。

其功能分为编译器、调试器、界面功能,它们包括:

  • 支持多种编译器如 GCC、clang、Borland C++ 5.5、digital mars 等等

  • 非常快,不需要 makefile

  • 支持多个目标平台的项目

  • 支持将项目组合起来的工作空间

  • GNU GDB 接口

  • 支持完整的断点功能,包括代码断点,数据断点,断点条件等等

  • 显示本地函数的符号和参数

  • 用户内存导出和语法高亮显示

  • 可自定义、可扩展的界面以及许多其他的的功能,包括那些用户开发的插件添加功能

9159.com 9

主页: http://www.codeblocks.org

 

  • 多重选择
  • 按模式搜索命令
  • 抵达任何一处的功能
  • 免打扰模式
  • 窗口分割
  • 支持项目之间快速的切换
  • 高度可定制
  • 支持基于 Python 的 API 插件以及其他特性

判断一个API是否优秀,并不是简单地根据第一个版本给出判断的,而是要看随着时间的推移,该API是否还能存在,是否仍旧保持得不错。槽糕的API接口各种各样,但是好的API接口对于用户来说必须满足以下几个点:

12. Geany IDE

Geany 是一个免费的、快速的、轻量级跨平台 IDE,只需要很少的依赖包就可以工作,独立于流行的 Linux 桌面环境下,比如 GNOME 和 KDE。它需要 GTK2 库实现功能。

它的特性包括以下列出的内容:

  • 支持语法高亮显示

  • 代码折叠

  • 调用提示

  • 符号名自动补完

  • 符号列表

  • 代码导航

  • 一个简单的项目管理工具

  • 可以编译并运行用户代码的内置系统

  • 可以通过插件扩展

9159.com 10

主页: 

 

9159.com 11

--------------------------------------------原文如下:--------------------------------------------

C++,提供高度可靠性的同时还能够允许操作底层内存来满足更高级的编程要求。

它的优点包含以下几点:

每一个API都是有生命周期的,我们需要让API的生命周期更长,并且在API的生命周期结束时能让其平滑的消亡。

17. VI/VIM 编辑器

Vim,一款 VI 编辑器的改进版本,是一款自由的、强大的、流行的并且高度可配置的文本编辑器。它为有效率地文本编辑而生,并且为 Unix/Linux 使用者提供了激动人心的编辑器特性,因此,它对于撰写和编辑 C/C++ 代码也是一个好的选择。

总的来说,与传统的文本编辑器相比,IDE 为编程提供了更多的便利,因此使用它们是一个很好的选择。它们带有激动人心的特征并且提供了一个综合性的开发环境,有时候程序员不得不陷入对最好的 C/C++ IDE 的选择。

在互联网上你还可以找到许多 IDE 来下载,但不妨试试我们推荐的这几款,可以帮助你尽快找到哪一款是你需要的。

 

GNAT Programming Studio 是一个免费的、易于使用的 IDE,设计的目的用于统一开发人员与他/她的代码和软件之间的交互。

  • 必须漂亮(API不一定需要漂亮)
  • API必须被正确地使用(用户很难理解如何正确的使用API,API的设计者要充分考虑API被误用的情况:如果一个API可能会被误用,那么它一定会被误用)
  • 必须简单(我们总会面临复杂的需求,能两者兼顾的API是更好的API)
  • 必须高性能(性能可以通过其他手段优化,不应该影响API的设计)
  • 必须绝对兼容(尽管本文一直提到如何保证兼容,但是我们仍然要意识到,一些极少情况下会遇到的不兼容是可以容忍的)

1. 用于 C/C++ 开发的 Netbeans

Netbeans 是一个自由而开源的、流行的跨平台 IDE ,可用于 C/C++ 以及其他编程语言,可以使用由社区开发的插件展现了其完全的扩展性。

它包含了用于 C/C++ 开发的项目类型和模版,并且你可以使用静态和动态函数库来构建应用程序。此外,你可以利用现有的代码去创造你的工程,并且也可以通过拖放的方式导入二进制文件来从头构建应用。

让我们来看看关于它的特性:

  • C/C++ 编辑器很好的整合了多线程的 GNU GDB 调试工具

  • 支持代码协助

  • 支持 C++11 标准

  • 在里面创建和运行 C/C++ 测试程序

  • 支持 QT 工具包

  • 支持将已编译的应用程序自动打包到 .tar,.zip 等归档文件

  • 支持多个编译器,例如: GNU、Clang/LLVM、Cygwin、Oracle Solaris Studio 和 MinGW

  • 支持远程开发

  • 文件导航

  • 源代码检查

9159.com 12

主页:

 

  • 支持语法高亮显示
  • 代码折叠
  • 调用提示
  • 符号名自动补完
  • 符号列表
  • 代码导航
  • 一个简单的项目管理工具
  • 可以编译并运行用户代码的内置系统
  • 可以通过插件扩展

开发API的过程其实就是一个沟通交流的过程。沟通的双方就是API用户和API设计者。

15. Qt Creator

这是一款收费的、跨平台的 IDE,用于创建连接设备、用户界面和应用程序。Qt Creator 可以让用户比应用的编码做到更多的创新。

它可以用来创建移动和桌面应用程序,也可以连接到嵌入式设备。

它的优点包含以下几点:

  • 复杂的代码编辑器

  • 支持版本控制

  • 项目和构建管理工具

  • 支持多屏幕和多平台,易于构建目标之间的切换等等

9159.com 13

主页: 

 

9.JetBrains CLion

5、 提高API的可测试性

8. Sublime Text 编辑器

Sublime Text 是一个完善的、跨平台的文本编辑器,可用于代码、标记语言和一般文字。它可以用来编写 C/C++ 代码,并且提供了非常棒的用户界面。

它的功能列表包括:

  • 多重选择

  • 按模式搜索命令

  • 抵达任何一处的功能

  • 免打扰模式

  • 窗口分割

  • 支持项目之间快速的切换

  • 高度可定制

  • 支持基于 Python 的 API 插件以及其他特性

9159.com 14

主页: https://www.sublimetext.com

安装指南: 

16. Emacs 编辑器

在设计过程中,如果能按照下面的方式来进行设计,会让这个API生命更长久

5. Bluefish 编辑器

Bluefish 不仅仅是一个一般的编辑器,它是一个轻量级的、快捷的编辑器,为程序员提供了如开发网站、编写脚本和软件代码的 IDE 特性。它支持多平台,可以在 Linux、Mac OSX、FreeBSD、OpenBSD、Solaris 和 Windows 上运行,同时支持包括 C/C++ 在内的众多编程语言。

下面列出的是它众多功能的一部分:

  • 多文档界面

  • 支持递归打开文件,基于文件名通配模式或者内容模式

  • 提供一个非常强大的搜索和替换功能

  • 代码片段边栏

  • 支持整合个人的外部过滤器,可使用命令如 awk,sed,sort 以及自定义构建脚本组成(过滤器的)管道文件

  • 支持全屏编辑

  • 网站上传和下载

  • 支持多种编码等许多其他功能

9159.com 15

主页: http://bluefish.openoffice.nl

 

7. Atom 代码编辑器

除此之外,下面还列出了一些具体的设计方法:

16. Emacs 编辑器

Emacs 是一个自由的、强大的、可高度扩展的、可定制的、跨平台文本编辑器,你可以在 Linux、Solaris、FreeBSD、NetBSD、OpenBSD、Windows 和 Mac OS X 这些系统中使用该编辑器。

Emacs 的核心也是一个 Emacs Lisp 的解释器,Emacs Lisp 是一种基于 Lisp 的编程语言。在撰写本文时,GNU Emacs 的最新版本是 24.5,Emacs 的基本功能包括:

  • 内容识别编辑模式

  • Unicode 的完全支持

  • 可使用 GUI 或 Emacs Lisp 代码高度定制

  • 下载和安装扩展的打包系统

  • 超出了正常文本编辑的功能生态系统,包括项目策划、邮件、日历和新闻阅读器等

  • 完整的内置文档,以及用户指南等等

9159.com 16

主页: 

 

【编辑推荐】

6、 保证API的向后兼容

10. 微软的 Visual Studio Code 编辑器

Visual Studio 是一个功能丰富的、完全整合的、跨平台开发环境,运行在 Linux、Windows 和 Mac OS X 上。 最近它向 Linux 用户开源了,它重新定义了代码编辑这件事,为用户提供了在 Windows、Android、iOS 和 Web 等多个平台开发不同应用所需的一切工具。

它功能完备,功能分类为应用程序开发、应用生命周期管理、扩展和集成特性。你可以从 Visual Studio 官网阅读全面的功能列表。

9159.com 17

主页: https://www.visualstudio.com

 

3. Eclipse CDT (C/C++ Development Tooling)

4、 有效的API评审

3. Eclipse CDT (C/C++ Development Tooling)

Eclipse 在编程界是一款著名的、开源的、跨平台的 IDE。它给用户提供了一个很棒的界面,并支持拖拽功能以方便界面元素的布置。

Eclipse CDT 是一个基于 Eclipse 主平台的项目,它提供了一个完整功能的 C/C++ IDE,并具有以下功能:

  • 支持项目创建

  • 管理各种工具链的构建

  • 标准的 make 构建

  • 源代码导航

  • 一些知识工具,如调用图、类型分级结构,内置浏览器,宏定义浏览器

  • 支持语法高亮的代码编辑器

  • 支持代码折叠和超链接导航

  • 代码重构与代码生成

  • 可视化调试存储器、寄存器的工具

  • 反汇编查看器以及更多功能

9159.com 18

主页: 

 

这是一款收费的、跨平台的 IDE,用于创建连接设备、用户界面和应用程序。Qt Creator 可以让用户比应用的编码做到更多的创新。

 

6. Brackets 代码编辑器

Brackets 是一个现代化风格的、开源的文本编辑器,专为 Web 设计与开发打造。它可以通过插件进行高度扩展,因此 C/C++ 程序员通过安装 C/C++/Objective-C 包来使用它来开发,这个包用来在辅助 C/C++ 代码编写的同时提供了 IDE 之类的特性。

9159.com 19

主页: 

 

如果一个API被广泛使用了,那么就不可能了解所有使用该API的用户。如果设计者希望能够设计出被广泛使用的API,那么必须站在用户的角度来理解如何设计API库,以及如何才能设计出这样的API库。

C++,一个众所周知的 C 语言的扩展,是一个优秀的、强大的、通用编程语言,它能够提供现代化的、通用的编程功能,可以用于开发包括视频游戏、搜索引擎、其他计算机软件乃至操作系统等在内的各种大型应用。

9159.com 20

过去我们总希望能将现有的“不合理”的设计完全推翻,然后按照现在“美好”的思路,重新设计这个API,但是在一段时间以后,又会碰到一样的状况,需要再推翻一次。 如果我们没有有效的逐步改善的办法,依靠推翻现有设计,重新设计API只能让我们回到起点,然后重现之前的过程。 要有一套行之有效的持续改善的办法来在API兼容的同时,改善API使之更好。

13. Ajunta DeveStudio

Ajunta DevStudio 是一个简单,强大的 GNOME 界面的软件开发工作室,支持包括 C/C++ 在内的几种编程语言。

它提供了先进的编程工具,比如项目管理、GUI 设计、交互式调试器、应用程序向导、源代码编辑器、版本控制等。此外,除了以上特点,Ajunta DeveStudio 也有其他很多不错的 IDE 功能,包括:

  • 简单的用户界面

  • 可通过插件扩展

  • 整合了 Glade 用于所见即所得的 UI 开发

  • 项目向导和模板

  • 整合了 GDB 调试器

  • 内置文件管理器

  • 使用 DevHelp 提供上下文敏感的编程辅助

  • 源代码编辑器支持语法高亮显示、智能缩进、自动缩进、代码折叠/隐藏、文本缩放等

9159.com 21

主页: 

 

C++,提供高度可靠性的同时还能够允许操作底层内存来满足更高级的编程要求。

在设计API的时候,一定要避免任何极端的意见,尤其是以下几点:

它功能完备,功能分类为应用程序开发、应用生命周期管理、扩展和集成特性。你可以从 Visual Studio 官网阅读全面的功能列表。

  • 将API标记为弃用,重新建立一个新的API。如果一个API不可避免要被消亡,这是唯一的办法。
  • 为其添加额外的参数或者参数选项来实现功能添加
  • 将现有API拆成两部分,提供一个精简的核心API,过去的API通过封装核心API上实现。这通常用于解决用户需要一个代码精简的版本时。
  • 在现有的API基础上进行封装,提供一个功能更丰富的包或者类

主页:

如何做到以上几点,以下是一些总结:

9159.com 22

但是我们为什么还要修改API呢?为了API看起来更加漂亮?为了提供更多功能?为了提供更好的性能?还是仅仅觉得到了改变了时候了?对于用户来说,他们更愿意使用一个稳定但是看起来不那么时髦的API,这并不意味着我们不再改进API了。当糟糕的API带来的维护成本越来越大时,我想就是我们去重构它的时候。

Geany 是一个免费的、快速的、轻量级跨平台 IDE,只需要很少的依赖包就可以工作,独立于流行的 Linux 桌面环境下,比如 GNOME 和 KDE。它需要 GTK2 库实现功能。

API设计完成以后,需要经过周密的设计评审,评审的重点如下:

安装指南:

网上搜索了一下,一个多月前,“标点符”已经发布了下面这篇文章,觉得写得非常不错,转载于此:

  • 支持基于 Clang 的 C/C++ 插件
  • 支持 KDE 4 配置迁移
  • 支持调用二进制编辑器 Oketa
  • 支持众多视图插件下的差异行编辑
  • 支持 Grep 视图,使用窗口小部件节省垂直空间等

引用地址:

它功能完整,主要的功能包括:

如果可以回头重新再做一遍,那么我心目中的优秀的API应该是怎么样的?

主页:

2、 采用良好的设计思路

  • 直观的用户界面
  • 对开发者的友好性
  • 支持多种编程语言,跨平台
  • 灵活的 MDI(多文档界面)
  • 高度可定制
  • 使用喜欢的工具获得全面的可扩展性

8、 把握API的生命周期

Bluefish 不仅仅是一个一般的编辑器,它是一个轻量级的、快捷的编辑器,为程序员提供了如开发网站、编写脚本和软件代码的 IDE 特性。它支持多平台,可以在 Linux、Mac OSX、FreeBSD、OpenBSD、Solaris 和 Windows 上运行,同时支持包括 C/C++ 在内的众多编程语言。

  • 用例驱动,评审前必须提供完善的使用用例,确保用例的合理性和完备性。
  • 一致性,是否与系统中其他模块的接口风格一致,是否与对称接口的设计一致。
  • 简单明了,API应该简单好理解,容易学习和使用的API才不容易被误用,给我们带来更多的麻烦。
  • API尽可能少,如果一个API可以暴露也可以不暴露,那么就不要暴露他,等到用户真正有需求的时候再将它成为一个公开接口也不迟。
  • 支持持续改进,API是否能够方便地通过扩展的方式增加功能和优化。

Atom 也是一个现代化风格、开源的多平台文本编辑器,它能运行在 Linux、Windows 或是 Mac OS X 平台。它的定制可深入底层,用户可以自定义它,以便满足各种编写代码的需求。

对于每一个API的设计者来说,都渴望做到“向后兼容”,因为不管是现在的API用户,还是潜在的API用户,都只信任那些可兼容的API。但向后兼容有多个层次上的意义,而且不同层次的向后兼容,也意味着不同的重要性和复杂度。

主页:

API需要是可测试的,测试不应依赖实现,测试充分的API,尤其是经过了严格的“兼容性整合测试”的API,更能保证在升级的过程中不出现兼容性问题。兼容性整合测试,是指一组测试用例集合,这组测试用例会站在使用者的立场上使用API。在API升级以后,再检测这组测试用例是否能完全符合预期的通过测试,尽可能的发现兼容性问题。

其功能分为编译器、调试器、界面功能,它们包括:

7、 保持逐步改善

Sublime Text 是一个完善的、跨平台的文本编辑器,可用于代码、标记语言和一般文字。它可以用来编写 C/C++ 代码,并且提供了非常棒的用户界面。

1、 面向用例设计

主页:

  • 面向用例的设计,收集用户建议,把自己模拟成用户,保证API设计的易用和合理
  • 保证后续的需求可以通过扩展的形式完成
  • 第一版做尽量少的内容,由于新需求可以通过扩展的形式完成,因此尽量少做事情是抑制API设计错误的一个有效方案
  • 对外提供清晰的API和文档规范,避免用户错误的使用API,尤其是避免API(见第一节)靠后级别的API被用户知晓与误用

主页:

最近在整理框架的一些 API,觉得很有必要总结一下 API 兼容性的设计。下图是我自己当下的一些总结,慢慢维护:

9159.com 23

一些好的API示例:

JetBrains CLion 是一个收费的、强大的跨平台 C/C++ IDE。它是一个完全整合的 C/C++ 程序开发环境,并提供 Cmake 项目模型、一个嵌入式终端窗口和一个主要以键盘操作的编码环境。

而对于开发人员来说,要求又是不一样的:

9159.com 24

  • 易阅读:代码的编写只需要一次一次,但是当调试或者修改的时候都需要对代码进行阅读。
  • 易开发:个最小化的接口是使用尽可能少的类以及尽可能少的类成员。这样使得理解、记忆、调试以及改变API更容易。

9159.com 25

  1. Flickr API,这里是文档的示例,同时提供了一个非常方便的API测试工具。
  2. Mediawiki API
  3. Ebay API,这里有一个非常详尽的文档示例。

在这篇文章里,我们会向你展示一些可以在 Linux 平台上找到的用于 C++ 或者其他编程语言编程的最好的 IDE。

主页:

  • 内容识别编辑模式
  • Unicode 的完全支持
  • 可使用 GUI 或 Emacs Lisp 代码高度定制
  • 下载和安装扩展的打包系统
  • 超出了正常文本编辑的功能生态系统,包括项目策划、邮件、日历和新闻阅读器等
  • 完整的内置文档,以及用户指南等等

Brackets 是一个现代化风格的、开源的文本编辑器,专为 Web 设计与开发打造。它可以通过插件进行高度扩展,因此 C/C++ 程序员通过安装 C/C++/Objective-C 包来使用它来开发,这个包用来在辅助 C/C++ 代码编写的同时提供了 IDE 之类的特性。

Emacs 是一个自由的、强大的、可高度扩展的、可定制的、跨平台文本编辑器,你可以在 Linux、Solaris、FreeBSD、NetBSD、OpenBSD、Windows 和 Mac OS X 这些系统中使用该编辑器。

  • 复杂的代码编辑器
  • 支持版本控制
  • 项目和构建管理工具
  • 支持多屏幕和多平台,易于构建目标之间的切换等等

6. Brackets 代码编辑器

9159.com 26

Emacs 的核心也是一个 Emacs Lisp 的解释器,Emacs Lisp 是一种基于 Lisp 的编程语言。在撰写本文时,GNU Emacs 的最新版本是 24.5,Emacs 的基本功能包括:

11. KDevelop

CodeLite 也是一款为 C/C++、JavaScript(Node.js)和 PHP 编程专门设计打造的自由而开源的、跨平台的 IDE。

9159.com 27

Vim,一款 VI 编辑器的改进版本,是一款自由的、强大的、流行的并且高度可配置的文本编辑器。它为有效率地文本编辑而生,并且为 Unix/Linux 使用者提供了激动人心的编辑器特性,因此,它对于撰写和编辑 C/C++ 代码也是一个好的选择。

Eclipse CDT 是一个基于 Eclipse 主平台的项目,它提供了一个完整功能的 C/C++ IDE,并具有以下功能:

主页:

它的特性包括以下列出的内容:

  • C/C++ 编辑器很好的整合了多线程的 GNU GDB 调试工具
  • 支持代码协助
  • 支持 C++11 标准
  • 在里面创建和运行 C/C++ 测试程序
  • 支持 QT 工具包
  • 支持将已编译的应用程序自动打包到 .tar,.zip 等归档文件
  • 支持多个编译器,例如: GNU、Clang/LLVM、Cygwin、Oracle Solaris Studio 和 MinGW
  • 支持远程开发
  • 文件导航
  • 源代码检查
  • 简单的用户界面
  • 可通过插件扩展
  • 整合了 Glade 用于所见即所得的 UI 开发
  • 项目向导和模板
  • 整合了 GDB 调试器
  • 内置文件管理器
  • 使用 DevHelp 提供上下文敏感的编程辅助
  • 源代码编辑器支持语法高亮显示、智能缩进、自动缩进、代码折叠/隐藏、文本缩放等

9159.com 28

10. 微软的 Visual Studio Code 编辑器

  • 多文档界面
  • 支持递归打开文件,基于文件名通配模式或者内容模式
  • 提供一个非常强大的搜索和替换功能
  • 代码片段边栏
  • 支持整合个人的外部过滤器,可使用命令如 awk,sed,sort 以及自定义构建脚本组成(过滤器的)管道文件
  • 支持全屏编辑
  • 网站上传和下载
  • 支持多种编码等许多其他功能

在互联网上你还可以找到许多 IDE 来下载,但不妨试试我们推荐的这几款,可以帮助你尽快找到哪一款是你需要的。

主页:

Netbeans 是一个自由而开源的、流行的跨平台 IDE ,可用于 C/C++ 以及其他编程语言,可以使用由社区开发的插件展现了其完全的扩展性。

12. Geany IDE

4. CodeLite IDE

本文由 LCTT 原创编译,Linux中国 荣誉推出

9159.com 29

它的一些主要特点包括:

它还提供了一个智能而现代化的编辑器,具有许多令人激动的功能,提供了理想的编码环境,这些功能包括:

  • 支持多种编译器如 GCC、clang、Borland C++ 5.5、digital mars 等等
  • 非常快,不需要 makefile
  • 支持多个目标平台的项目
  • 支持将项目组合起来的工作空间
  • GNU GDB 接口
  • 支持完整的断点功能,包括代码断点,数据断点,断点条件等等
  • 显示本地函数的符号和参数
  • 用户内存导出和语法高亮显示
  • 可自定义、可扩展的界面以及许多其他的的功能,包括那些用户开发的插件添加功能

主页:

主页:

5. Bluefish 编辑器

14. GNAT Programming Studio

9159.com 30

2. Code::Blocks

9159.com 31

15. Qt Creator

via:

最重要的是,你可以通过用户开发的插件扩展它的功能,一些插件是随同 Code::Blocks 发布的,而另外一些则不是,它们由 Code::Block 开发团队之外的个人用户所编写的。

  • 支持项目创建
  • 管理各种工具链的构建
  • 标准的 make 构建
  • 源代码导航
  • 一些知识工具,如调用图、类型分级结构,内置浏览器,宏定义浏览器
  • 支持语法高亮的代码编辑器
  • 支持代码折叠和超链接导航
  • 代码重构与代码生成
  • 可视化调试存储器、寄存器的工具
  • 反汇编查看器以及更多功能

主页:

下面列出的是它众多功能的一部分:

9159.com 32

Code::Blocks 是一个免费的、具有高度扩展性的、并且可以配置的跨平台 C++ IDE,它为用户提供了必备而典范的功能。它具有一致的界面和体验。

13. Ajunta DeveStudio

总的来说,与传统的文本编辑器相比,IDE 为编程提供了更多的便利,因此使用它们是一个很好的选择。它们带有激动人心的特征并且提供了一个综合性的开发环境,有时候程序员不得不陷入对最好的 C/C++ IDE 的选择。

  • 除了 C/C++ 还支持其他多种语言
  • 在符号声明和上下文中轻松导航
  • 代码生成和重构
  • 可定制的编辑器
  • 即时代码分析
  • 集成的代码调试器
  • 支持 Git、Subversion、Mercurial、CVS、Perforcevia(通过插件)和 TFS
  • 无缝集成了 Google 测试框架
  • 通过 Vim 仿真插件支持 Vim 编辑体验

让我们来看看关于它的特性:

17. VI/VIM 编辑器

  • 内置了包管理器
  • 智能的自动补完
  • 内置文件浏览器
  • 查找、替换以及其他更多的功能

9159.com 33

作者:Aaron Kili 译者:ZenMoore ,LiBrad ,WangYueScream ,LemonDemo 校对:wxy

主页:

主页:

主页:

Ajunta DevStudio 是一个简单,强大的 GNOME 界面的软件开发工作室,支持包括 C/C++ 在内的几种编程语言。

9159.com 34

安装指南:

Eclipse 在编程界是一款著名的、开源的、跨平台的 IDE。它给用户提供了一个很棒的界面,并支持拖拽功能以方便界面元素的布置。

主页:

虽然已经有了一些供程序员用来写 C/C++ 代码的文本编辑器,但 IDE 可以为轻松、完美的编程提供综合的环境和组件。

它通过高亮程序的重要部分和逻辑从而提升源代码导航体验,打造了一个理想的编程环境。它的设计目标是为你带来更舒适的编程体验,使用户能够从头开始开发全面的系统。

C++,一个众所周知的 C 语言的扩展,是一个优秀的、强大的、通用编程语言,它能够提供现代化的、通用的编程功能,可以用于开发包括视频游戏、搜索引擎、其他计算机软件乃至操作系统等在内的各种大型应用。

它可以用来创建移动和桌面应用程序,也可以连接到嵌入式设备。

KDevelop 是另一个自由而开源的跨平台 IDE,能够运行在 Linux、Solaris、FreeBSD、Windows、Mac OS X 和其他类 Unix 操作系统上。它基于 KDevPlatform、KDE 和 Qt 库。KDevelop 可以通过插件高度扩展,功能丰富且具有以下显著特色:

它的功能列表包括:

  • 代码补完,提供了两个代码补完引擎
  • 支持多种编译器,包括 GCC、clang/VC++
  • 以代码词汇的方式显示错误
  • 构建选项卡中的错误消息可点击
  • 支持下一代 LLDB 调试器
  • 支持 GDB
  • 支持重构
  • 代码导航
  • 使用内置的 SFTP 进行远程开发
  • 源代码控制插件
  • 开发基于 wxWidgets 应用的 RAD(快速应用程序开发)工具,以及更多的特性

它包含了用于 C/C++ 开发的项目类型和模版,并且你可以使用静态和动态函数库来构建应用程序。此外,你可以利用现有的代码去创造你的工程,并且也可以通过拖放的方式导入二进制文件来从头构建应用。

本文由9159.com发布于编程,转载请注明出处:它能够提供现代化的、通用的编程功能,或者其

关键词: