做一個“懶惰”的程式員

來源:互聯網
上載者:User

標籤:方法



懶惰,算是本人的一大缺點,但是我發現,事物的兩面性在懶惰上得到充分體現。懶惰,並非一無是處。


比如,編寫指令碼。

本人編寫指令碼的原因有兩個:一是省事,不用每次敲那麼多東西。二是本人健忘,無法記得冗長的命令。
就拿IPC的代碼來講,
IPC代碼根目錄中,有N多build-XXX。而每一個build-XXX目錄下的內容,則完全相似,都有一個set.sh。
這就是編譯用的指令碼。
隨便拿出一個來,其內容大致如下:
cmake .. -DCROSS_COMPILE=arm-hisiv100nptl-linux- -DBOARD=hi3518C -DCONFIG_PATH=/etc/conf.d/jovision/ -DTINY_ONVIF_SUPPORT=ON -DSD_RECORD_SUPPORT=ON -DGB28181_SUPPORT=ON
看看吧,如果每次編譯之前,都要把它們敲出來,是一件多麼悲劇的事情。
把它們寫成指令碼,是多麼理所應當的事情呢?
然而,無論是以前公司見過的超級高手,抑或是現在的很多同事,都喜歡把它們一個字一個字的敲出來。


比如,檔案編輯。

Onvif中,每個功能,也就是其對應的每個函數,都有其存取權限。在Onvif2.4中,有接近200個函數。
(ONVIF-Core-Specification-v210.pdf
這個PDF中,搜尋 Access Class ,可以得到每個函數的存取權限。例如:SetSystemDateAndTime的許可權是:RITE_SYSTEM)
那麼,這些函數的許可權,要如何做呢?
在往下看之前,不妨下載下來,想想辦法。


這裡介紹一下,我的做法:
1,ctrl+a,選中全文,將其複製到UltraEdit中。(好多同事著作權意識很強,只用開源的Notepad++)
2,ctrl+F,搜尋Access Class。這裡要注意,需要選中:列出包含字串的行
3,這時點下一個,工具會列出所有的行,此時點“剪貼版”
4,建立一個UltraEdit檔案,粘貼,此時你會得到類似如下的東西:
SetNTP  Access Class: WRITE_SYSTEM
GetDynamicDNS  Access Class: READ_SYSTEM
SetDynamicDNS  Access Class: WRITE_SYSTEM
GetNetworkInterfaces  Access Class: READ_SYSTEM
5,技巧一結束,技巧二開始
6,中間的Access Class: 使用替換工具,把它們替換成空格
7,替換,將兩個空格,替換成一個。
8,一直點替換,直到失敗
9,空格替換成",
10,就變成了這樣:
GetWsdlUrl", PRE_AUTH
GetServices", PRE_AUTH
GetServiceCapabilities", PRE_AUTH
GetCapabilities", PRE_AUTH
GetHostname", PRE_AUTH


11,有些版本的UltraEdit,可以支援把斷行符號,替換成其它內容,有些版本不行的話,可以考慮用Notepad++
12,斷行符號變成:},\n{"  最後變成這樣:
{GetWsdlUrl", PRE_AUTH},
{GetServices", PRE_AUTH},
{GetServiceCapabilities", PRE_AUTH},
{GetCapabilities", PRE_AUTH},
{GetHostname", PRE_AUTH},
大功告成


比如,圖片處理

之前做DVR的時候,美工會做一堆的圖片,都是PDF的。
而,實際工程中,需要用16位bmp。
諸位是怎麼辦的呢?一張一張的另存新檔?


我的辦法是:
Photoshop有一個,類似宏錄製的功能, 檔案-》自動-》批處理。 可以產生一個EXE檔案。
只要把一個目錄,拖到這個EXE上,就會一下子將所有檔案,轉化成指定格式。非常方便


中心思想

方法還有很多,但我準備授人以漁了。期望有人能領會精神,忘記招式。
一件工作在開始之前,先想想有沒有偷懶的辦法。尤其是重複性的工作。一定有什麼方法或者工具,可以快速完成任務的。
人之所以區別於動物,就是會用工具不是嗎?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.