编程语言:开箱即用的易读性和可扩展性

时间:2011-01-02 07:45:51

标签: language-agnostic programming-languages solid-principles

SOLID发展思想的两个优秀成果是   - 易读性
  - 可扩展性
在项目的整个生命周期中(http://en.m.wikipedia.org/wiki/Solid_(object-oriented_design)

虽然SOLID是一组与语言无关的设计理念,但某些语言本身比其他语言更能支持这些理念。开箱即用或经过各种自定义后,您认为哪种语言最适合易于阅读且易于扩展功能?

预先设定偏见和火焰战争的一些定义:

  • 易读性:理解与代码量成比例的代码所做的思考量:(amount_think-energy / amount_code)在最佳情况下是相当稳定且尽可能低的。
  • 可扩展性:添加X个功能需要更改代码或代码添加与X成比例(amount_added_functionality / amount_added_code)相当稳定,并且在最佳情况下尽可能高。

鼓励支持信息和教程。 代码片段欢迎。

2 个答案:

答案 0 :(得分:1)

的Python。它简洁,但并不神秘。它避免过度使用符号(orand而不是||&&,依此类推,再加上没有花括号),它必须始终缩进(制作结构)更明显的是,它是动态类型的(防止因铸造变量,重载等引起的一些头部划痕)。 Python还可以很容易地使自定义对象的行为更像内置类型和魔术方法(例如,我可以定义一个__add__方法并添加我的对象的两个实例,就像我添加整数一样。)

Python的面向对象语法非常灵活。魔术方法几乎可以轻松地使用Python类创建任何可能的东西。例如,如果我想让一个对象可调用,我所要做的就是:

class SomeClass:
    # rest of class implementation here

    def __call__(self):
        # define some behavior for when the object is called

我没有做任何时髦的事情;这是一个标准的程序,它只需要对代码进行最小的更改。

此外,由于Python有一个非常全面的标准库,因此很少重新发明轮子,这再次允许添加大量功能,几乎不会编写新代码。

有很多理由说明为什么Python易读且可扩展,而且还有很多其他语言对于SOLID也同样有用。我只是觉得我会为我最喜欢的语言而努力。

答案 1 :(得分:1)

我可以列出this page上的所有内容,但只需点击它即可阅读所有关于D的精彩内容。

(正如我所说的那样,这完全是客观的,但可能不是......但它仍然可以让你很好地了解D的特征。)