懒惰,算是本人的一大缺点,可是我发现,事物的两面性在懒惰上得到充分体现。懒惰,并不是一无是处。
比方,编写脚本。
本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西。二是本人健忘,无法记得冗长的命令。
就拿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的。
而,实际project中,须要用16位bmp。
诸位是怎么办的呢?一张一张的另存为?
我的办法是:
Photoshop有一个,类似宏录制的功能, 文件-》自己主动-》批处理。 能够生成一个EXE文件。
仅仅要把一个文件夹,拖到这个EXE上,就会一下子将全部文件,转化成指定格式。很方便
中心思想
方法还有非常多,但我准备授人以渔了。期望有人能领会精神,忘记招式。
一件工作在開始之前,先想想有没有偷懒的办法。尤其是反复性的工作。一定有什么方法或者工具,能够高速完毕任务的。
人之所以差别于动物,就是会用工具不是吗?
做一个“懒惰”的程序猿