變數命名的藝術

我們公司在每份傳輸的文件最後,有設定一個字串。叫87fileend87。
變數也命名成87fileend87。

結果連有位前輩是這樣理解:因為傳輸中間,若有一"特殊字元",就會導致傳輸中斷,
所以我們需要一個87fileend87,放在檔案的最後。
後輩只敢支持前輩的說法。
我們都是後來的猴子,沒有人知道為什麼每份文件最後都要有這一個字串。

取名為完整性簽名即可。
因同時兩個功能,
就是希望不要隨便一個文件傳過來,我們程式都能處理。所以算是簽名。
完整性,放在檔案最後,代表這是一個完整的檔案。
當傳輸是設計成一次tcp握手,多次傳輸,可以籍由這符號區分出來是哪份資料

tcp都叫可靠性傳輸了,隨便一個字元就傳輸中斷,底層這樣設計誰敢用呢?
並不存在於這種特殊字元,如果這字元導致中斷,
為何還期盼收到文件最後,會有一個87fileend87的字串。
如果文件中有一特殊字元導致中斷,怎樣期盼下次傳過來的文件,
自行移除這個符號呢?

一次tcp握手之後,有多次傳輸,你可以設計傳過來的字串最後要用\r\n,代表算是一次。
像是telnet
或是一次握手之後,傳完一次後,中斷該連接,像http,多個圖片,就會連多次。

結果我們是設計成"每收1K",就看一下文件中的字串有沒有87fileend87。
錯誤的命名,錯誤的理解。甚至影響到設計與程式效率,

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s