好的现代 c 代码是啥样的? [关闭]
Posted
技术标签:
【中文标题】好的现代 c 代码是啥样的? [关闭]【英文标题】:What does good, modern c code look like? [closed]好的现代 c 代码是什么样的? [关闭] 【发布时间】:2010-11-21 03:09:49 【问题描述】:我主要是一名 c#/.NET 程序员,但我即将接手的 hobby project 将涉及 c 编码。
我知道那里有大量的 c 代码,但是如果您没有“长大”使用该语言,那么很难将结构良好的 c 项目与结构不良的项目区分开来。谁能指出一个更新的、非平凡的(但不是巨大的)项目,该项目被认为是如何构建 c 代码的一个很好的例子?
编辑
如果您找不到项目,请随时用语言讨论您认为 c 项目应该如何构建。
【问题讨论】:
ziglang.org, 不是 Rust 不是 D 不是 Go 不是 Jai 不是 C++ 不是 Ada 不是 Pascal 不是 Modula 不是 ATS 不是 BitC 不是 还有什么? 不是 Nim 也不是 Fortran 【参考方案1】:这完全是轶事,但我听说SQLite 项目被认为是好的代码。
【讨论】:
【参考方案2】:查看 git 源码:http://github.com/git/git/tree/master
【讨论】:
125,000 行代码适合新的 C 程序员?你确定吗? 一切都与结构和风格有关。不过,您不必阅读每一行。【参考方案3】:我认为 Steve Dekorte 的 IO language 实现是干净实用的现代 C 的一个很好的例子。
【讨论】:
我同意,这是非常好的代码。我喜欢它,我能理解它;-)【参考方案4】:Dave Hanson 的C Interfaces and Implementations 是一个非常精心设计的库,包含大约 7000 行代码。如果你能负担得起,这本书很棒。
Lua 编程语言和库的实现大约有 17,000 行 C 代码,做得非常好,但在某些地方相当复杂——如果没有这些领域的背景,编译器和垃圾收集器就不太容易理解。但代码设计精美。
Git 有超过 125,000 行代码。我不建议任何人将其作为如何设计 C 代码的示例进行研究。只是设计和公共接口,更不用说实现,很难理解——这就是为什么有这么多 git 教程。
【讨论】:
+1 用于 Lua。当我深入了解它是否在我所从事的嵌入式软件项目中的性能和质量方面可以接受时,我感到非常惊喜。 Git 具有一致的风格和结构,因此它是学习的好材料。您不必准备好每一行! @Norman 看起来这本书在 Safari 上可用。我一定跳过了它,因为它已经有 13 年历史了(假设它不是“现代代码”),但我会根据你的建议检查一下;谢谢! 125,000 行 GIT 与 17,000 行 Lua 在这种情况下没有太大区别,因为他不会(可能)阅读每一行... @git 倡导者:OP 如何知道从哪里开始?有什么想法吗?【参考方案5】:怎么样:
“C 编程语言”,第 2 版,Kernighan 和 Ritchie
习题答案
http://users.powernet.co.uk/eton/kandr2/
【讨论】:
【参考方案6】:以下书籍(附有代码示例)可以稍微缓解您的范式转变:
斯蒂芬·科坎
C 语言编程,第三版
http://www.kochan-wood.com
【讨论】:
【参考方案7】:
C: A Reference Manual 包含各种示例代码用法,其实现以标准 C 为中心;一个明确的文件,可能与 C 标准一起研究。
【讨论】:
【参考方案8】:SVN 项目完全用 C 语言编写,并且维护良好:风格一致、cmets 良好、代码气味低。我推荐perusing它。
【讨论】:
以上是关于好的现代 c 代码是啥样的? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章