我尝试搜索以 Objective-C 或其他支持关键字消息语法的语言提供示例的数据结构/算法书籍,但无济于事。
我对此感兴趣的原因是因为我真的认为关键字语法将帮助我理解代码的意图,我发现我必须在具有典型函数调用语法的语言中考虑更长时间。
一个很好的例子是 C 中的SplayTree实现的这个片段:
/* Continue down the tree. */
n = splay_tree_splay_helper (sp, key, next, node, parent);
函数名称非常无用,即使有注释,我也必须彻底阅读代码才能知道那里到底发生了什么。
我知道从技术上讲,任何一段 C 代码都是有效的 Objective-C,但我正在寻找利用像 Objective-C 这样的良好对象模型构建算法实现的东西,因为我相信生成的代码更易于维护。在算法设计的性能受限空间中,这似乎违反直觉,但我已经看到很多算法书籍都有惯用的 Ruby、Python、Javascript 等示例。
基本上,我正在寻找任何具有良好对象模型的东西,它允许非常描述性的关键字消息,无论是 Objective-C 还是 Smalltalk 系列中的任何其他东西(尽管可能不太可能)。