背景/场景
我开始纯粹用C语言编写CLI应用程序(我的第一个适当的C或C ++程序不是“ Hello World”或其变体)。大约在中途,我正在处理用户输入(字符串数组)的“字符串”,然后发现了C ++字符串流对象。我看到我可以使用这些代码保存代码,因此我在应用程序中使用了它们。这意味着我已将文件扩展名更改为.cpp,现在使用g++
而不是编译应用程序gcc
。因此,基于此,我可以说该应用程序从技术上讲是一个C ++应用程序(尽管90%以上的代码是用我称为C的代码编写的,因为鉴于我有限的经验,这两种语言之间存在很多交叉之处他们俩)。它是一个大约900行长的.cpp文件。
重要因素
我希望该程序免费(如金钱形式),可以自由分发并可供所有人使用。我担心的是,有人会看一下代码,然后想出以下效果:
哦,看一下编码,太糟糕了,这个程序帮不了我
可能的话!另一个问题是代码高效(这是用于测试以太网连接性的程序)。代码中不应存在效率低下的部分,以至于它们可能严重阻碍应用程序或其输出的性能。但是,当寻求有关特定功能,方法,对象调用等的帮助时,我认为这是Stack Overflow的问题。
我的问题
(在我看来)混合了C和C ++,也许我不应该这样做。我应该用C ++重写所有内容(通过这种方式,我的意思是实现更多的C ++对象和方法,也许我已经用C风格编写了可以使用较新的C ++技术浓缩的内容),或者删除了使用字符串流对象和把这一切“带回” C代码?这里有正确的方法吗?我迷路了,需要一些指导如何使该应用程序在群众眼中保持“良好”,因此他们将使用它并从中受益。
代码-更新
这是代码的链接。大约有40%的评论,我几乎每行评论,直到我感到更加流利。在我链接到的副本中,我删除了几乎所有注释。我希望这不会使阅读变得困难。我希望没有人需要完全理解它。但是,如果我犯了致命的设计缺陷,我希望它们应该易于识别。我还应该提到,我正在编写几个Ubuntu台式机和笔记本电脑。我无意将代码移植到其他操作系统。