模組化是好事,以及,它讓我聯想到了 c 語言,以及它那如同平原一樣的命名空間。所謂『模組化』,是一種很自然的事情,體現了『分而治之』的思想。
坦白來說,這是乙個無需過多討論的話題。如果你寫過c 語言,就會對它那『近乎平坦』的命名空間,感到熟悉。所有的函式,變數都在同乙個全域性命名空間(static 型別的除外,事實上,static 函式,是c語言中少數的模組化手段之一)。如果你 include乙個東西,你都不知道你在幹嘛,you know nothing。比如:
#include
#include
複製**
有時候我也許能記得 printf 在 stdio裡面,但大部分時候我的記性不怎麼好,也不愛記憶這種東西。
而且,為了防止命名衝突,大部分時候,我們都要給我們的函式,加各種命名字首,比如,寫乙個鍊錶實現的時候,會出現諸如list_add(list* l, void* item) list_remove(list* l, void* item)
這樣的東西。這和上古時代的『匈牙利命名法則』(感興趣的朋友,可以百科搜尋一下),何其相似,各種無聊的btn
字首,不明覺厲的變數命名。
關鍵是,在比較現代化的程式語言中,或者比較現代化的程式設計ide中,偶爾能看到這樣的命名風格,這時讓人有一種莫名的,穿越上的喜感。
幸好,thrift 雖然借用了 include 這個關鍵字,但是沒有搞成 c 語言那樣(也許用 import 是更好的選擇?)。用法如下:
// 匯入乙個模組,模組的訪問空間,就是檔名
// 這裡及其明確清醒,甚至需要寫清楚檔名字尾
include "shared.thrift"
// 使用
// 必須要加命名空間字首,否則訪問不到對應的要素
service calculator extends shared.sharedservice
複製**
和這個使用感覺,最相同的,就是 go 語言了,既簡單又明確。 python系列教程3
python唯一的缺點就是,在目前現有的實現方式下,與c和c 這類編譯語言相比,python的執行速度還不夠快。教程後面將對實現方式的概念進行詳細闡述。簡而言之,目前python的標準實現方式是將源 的語句編譯 或者說是轉換 為位元組碼的形式,之後再將位元組碼解發布來。由於位元組碼是一種與平台無關的...
python系列教程3
宣告 在人工智慧技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴充套件知識更好的理解人工智慧技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由於這套python教程不是要由所寫,所以不如我的人工智慧技術教學風趣幽默,學起來比較枯燥 但它的知識點還是講...
Go 系列教程 3 變數
變數指定了某儲存單元 memory location 的名稱,該儲存單元會儲存特定型別的值。在 go 中,有多種語法用於宣告變數。var name type package main import fmt func main my age is 0 變數可以賦值為本型別的任何值。上一程式中的 age...