Fork me on GitHub

Other articles

  1. Function Programming in Python: 1. (Avoiding) Flow Control

    0. whatever


    “Function Programming in Python” Chapter 1:避免流控制

    在传统的imperative式编程中,一段代码通常包括一些循环(whilefor)、变量的声明和数据的修改(dict,list,set等)、分支语句(if/elif/else/, try/except/finally)。所有这些看起来都很自然,很好理解。这些状态变量和可修改的数据结构通常从现实世界中抽象而来,但是它们会带来一些副作用,随意给定程序的一个断点,我们很难靠人脑快速精确地推断出这些数据里面的值,所以我们经常需要依靠编译器的帮助来查看这些数据里面的值是不是我们想要的那样。

    一个解决方案是使我们的代码专注于描述数据是什么(what),而不是如何构建数据(how).

    1. Encapsulation (封装)


    最先想到的专注于“what”而不是“how”的方法就是:重构代码,把数据构建的操作放在一个独立的地方。考虑改写如下代码:

    # configure the data ...
    read more

Page 1 / 1

blogroll

social