做一个“懒惰”的程序员

懒惰,算是本人的一大缺点,但是我发现,事物的两面性在懒惰上得到充分体现。懒惰,并非一无是处。

比如,编写脚本。

本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西。二是本人健忘,无法记得冗长的命令。

就拿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上,就会一下子将所有文件,转化成指定格式。非常方便

中心思想

方法还有很多,但我准备授人以渔了。期望有人能领会精神,忘记招式。

一件工作在开始之前,先想想有没有偷懒的办法。尤其是重复性的工作。一定有什么方法或者工具,可以快速完成任务的。

人之所以区别于动物,就是会用工具不是吗?

做一个“懒惰”的程序员

时间: 2024-11-05 17:30:59

做一个“懒惰”的程序员的相关文章

一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁

前续 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(一)——地:起因 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁 平行时空 在复制好上面那一行我就先停下来了,算是先占了个位置,虽然我知道大概要怎么写,不过感觉还是很乱. 我突然想到,既然那么纠结,那么混乱,那么不知所措,我们不如换个视角.记得高中时看过的为数不多的长篇小说<穆斯林的葬礼>,作者是:霍达(女),故事描写了两个发生在不同时代.有着不同的内容却又交错扭结的爱情悲剧,一个是“玉”的故事,一个是“月”

做一个“合格”的程序员

其实这篇文章很早就想写了,一直忙的没有时间,今天总算得空,下面就针对程序员这个职业来说一说我个人的一些想法: 要想做一个在我认为是"合格"的程序员,那么应该要做到以下几点: 代码规范,注释清楚 要做一个好的程序员,代码的质量是最重要的,代码是项目过程中最为重要的资源,有很多程序员觉得写注释太麻烦,还会花太多时间,尤其是很多规模比较小的公司,更不会注重这一点,但是往往到了项目后期,乃至项目由他人接手后,维护的成本会变得非常高,代码阅读困难,注释不详细甚至没有,维护人员需要靠自己去猜测某个

如何做一个开心的程序员?

经常有人发帖讨论「怎么做一个成功的程序员」,「如何才能成为一个优秀的程序员」,我并不太同意这些文章中的看法,想在这里我想提出一些我对于程序员这个职业自己的想法. 和标题中写的一样,我的目标不是成为一个优秀或者成功的程序员,我想成为一个开心的程序员.因为程序员是一个工作和生活密不可分的职业只有成为一个开心的程序员,才能过着开心的生活. 我相信那些想让自己或者别人成为优秀的程序员的人的最终目的也是能过上更开心的生活:少一点烦恼,多一点自由做自己想做的事情. 可能大家会不太同意我对开心的生活的定义,这

如何做一个合格的程序员

不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远.世界上并没有成为高手的捷径,但一些基本原则是可以遵循的. 1. 扎实的基础.数据结构.离散数学.编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序.据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件.程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论.不要一开始就去学OOP,即使你再

做一个“懒惰”的程序猿

懒惰,算是本人的一大缺点,可是我发现,事物的两面性在懒惰上得到充分体现.懒惰,并不是一无是处. 比方,编写脚本. 本人编写脚本的原因有两个:一是省事,不用每次敲那么多东西.二是本人健忘,无法记得冗长的命令. 就拿IPC的代码来讲, IPC代码根文件夹中,有N多build-XXX.而每个build-XXX文件夹下的内容,则全然相似,都有一个set.sh. 这就是编译用的脚本. 随便拿出一个来,其内容大致例如以下: cmake .. -DCROSS_COMPILE=arm-hisiv100nptl-

学习Axure的心得&amp;关于如何做一个优秀的程序员

这些天学习了Axure的一些基础知识,感觉自己就只是刚刚入门,还有好多东西不懂.本想在网上好好地学一些更高的操作,却找不找比较好的学习视频.网上的资料太多,而且质量参差不齐.(视频画面根本就看不清)到后来就找了一些文本资料来看,但还是未能坚持看下去.不过,我看了一些关于程序员的资料. 下面就来说说我的看法. 一 努力刻苦地编程.好的程序员是后天炼成的,是靠一行行代码和一个个算法给喂出来的.因此,只要努力就一定能成为一个优秀的程序员. 二 拥有过硬的技术和本事.要明白,在IT行业,靠的不是关系,地

如何做一个出色的程序员(转)

首先要告诉大家的是要爱这行! 从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破.这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业的一种热情,就很难在困境中保持一种执着的态度坚持到底. 踏踏实实“扎马步” 今天无意中看了“校长”的“程序员&司机”,其中谈到了关于程序员速成的问题.其实速成班毕业的 “系统杀手”早已在遍布大江南北,只是在互联网时代,互联网的应用型软件生命周期越来越短,业务驱动主导的情况下,这种速成方式看起来反而

做一个文艺的程序员

对于程序员,网络上有无数黑段子,什么"一百位程序员只有一种样子","话少钱多死得早,毫无情趣女友跑"等等.这一个个的段子,伤了多少程序员的心. 一开始,对这种现象,我也无法反驳,因为我悲哀的发现,现实生活中,好多程序员确实是这个样子的.但是最近,当我看到程序员Kenneth Retiz的事迹,我突然间就想为程序员们平反,其他人我不管,但是程序员们不能够再任凭他人再给我们下定义了,我们要关注生活,让自己成为一个大家都喜欢的潜力股. 也许还有很多人不知道Kenneth

不要做一个浮躁的程序员

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么.当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异. 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的. 3.看帮助,不要因为很难而自己是初学者所以就不看:帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,总觉得不够直观. 4.不要被对象.属性.方法等词汇所迷惑:最根本的是先了解最基础知识. 5.不要放过任何一个看上去很简单的小问题–他们往往并不