日本程序員的腦回路真是奇葩!這段時間經常研究日本程序員寫的上位機程序,發現他們寫代碼的思路真是奇葩,有時候看著他們寫的代碼嘴角都要止不住的上揚,和同事討論日本程序員寫的某段代碼的意圖,最后一討論,別說,雖然寫法奇葩,但是還真有他們的道理!這里我就簡單的舉個例子,大家一起看看怎么個事!
首先大家肯定很好奇,為什么我能看到日本程序員寫的代碼,其實事情是這樣的,日本人開發的上位機程序在交付時,基本上都會把源碼放在上位機PC里面,所以,我是能直接查看上位機程序的源碼的。
某一天,我們的甲方說他們有臺設備需要改個參數,但是這臺設備的上位機程序是日本人寫的,有源碼,問我們公司能不能派個人過去幫他們改下,所以,公司就派我過去了。
到了甲方工廠,客戶跟我們說了下需求,然后,我們就順著源碼找到了需要改動的地方。改完了代碼,我編譯了程序,然后,發現上位機程序怎么也跑不起來了!
搗鼓來搗鼓去,最后發現了問題點,原來,在上位機程序啟動的時候,它會啟動一個文件檢查的程序,而這個文件檢查程序的代碼一時間讓我摸不著頭腦。
原來,上位機PC一共有4個磁盤,分別是C、D、E、F盤,上位機程序部署在E盤,這個文件檢查的程序在運行以后首先會獲取E盤上位機程序根目錄的所有文件信息,然后拿著這些文件信息分別去D盤和F盤的另外兩個上位機程序目錄里面去比對文件,但凡文件有一個不一樣,上位機程序都啟動不起來。
這么說可能大家不知道是什么意思,簡單地說,這個上位機真正的啟動目錄是在E盤,但是還是需要再D盤和F盤另外部署兩個相同的上位機程序,只有D、E、F三個盤里面的所有上位機程序的文件信息都一樣時,上位機才能成功啟動,哪怕有一個不一樣,上位機程序都啟動不起來!
看懂這段代碼時,我一時摸不著頭腦,下意識跟我同事說:“有毛病吧,這是?”,然后我們倆就開始研究起這段代碼的意圖。
好一段研究以后,我們得出一個結論:這其實就是防止上位機程序被人為改動或者被意外篡改的!
因為這個上位機程序操縱的是一臺大型設備,一旦程序被人為改動,造成的后果可能都是災難性的,所以,基本上除了日志文件以外,其他的文件在編譯后,基本上是不會發生改變的。
之所以在三個磁盤里面都部署一個上位機程序用來比對,就是為了阻止上位機程序里面的文件被改動后,上位機程序可能存在的錯誤運行的情況!一般來說,多個地方的文件被同時人為改動的概率不大,且被同時篡改的概率也不大。雖然,這種邏輯不能百分百保證安全,但相對來說是安全的。
結語
最后,我把編譯后的文件每個磁盤都放了一個,然后上位機就順利啟動了!我和同事相視一笑,別說,做法挺傻,甚至想起來就想笑,但是你說這個辦法它解決不解決問題呢?當然在一定程度上是能解決問題的!但是,這種辦法我想破天,我估計我都想不到!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.