模塊化是好事,以及,它讓我聯想到了 C 語言,以及它那如同平原同樣的命名空間。編程
所謂『模塊化』,是一種很天然的事情,體現了『分而治之』的思想。bash
坦白來講,這是一個無需過多討論的話題。若是你寫過C 語言,就會對它那『近乎平坦』的命名空間,感到熟悉。全部的函數,變量都在同一個全局命名空間(static 類型的除外,事實上,static 函數,是C語言中少數的模塊化手段之一)。若是你 include一個東西,你都不知道你在幹嗎,you know nothing。好比:編程語言
#include <stdio.h>
#include <stdlib.h>
複製代碼
有時候我也許能記得 printf 在 stdio裏面,但大部分時候個人記性不怎麼好,也不愛記憶這種東西。模塊化
並且,爲了防止命名衝突,大部分時候,咱們都要給咱們的函數,加各類命名前綴,好比,寫一個鏈表實現的時候,會出現諸如List_Add(List* l, void* item) List_Remove(List* l, void* item)
這樣的東西。這和上古時代的『匈牙利命名法則』(感興趣的朋友,能夠百科搜索一下),何其類似,各類無聊的 btn
前綴,不明覺厲的變量命名。函數
關鍵是,在比較現代化的編程語言中,或者比較現代化的編程IDE中,偶爾能看到這樣的命名風格,這時讓人有一種莫名的,穿越上的喜感。spa
幸虧,Thrift 雖然借用了 include 這個關鍵字,可是沒有搞成 C 語言那樣(也許用 import 是更好的選擇?)。用法以下:code
// 導入一個模塊,模塊的訪問空間,就是文件名
// 這裏及其明確清醒,甚至須要寫清楚文件名後綴
include "shared.thrift"
// 使用
// 必需要加命名空間前綴,不然訪問不到對應的要素
service Calculator extends shared.SharedService {
}
複製代碼
和這個使用感受,最相同的,就是 Go 語言了,既簡單又明確。string