之所以有这样的感触,是因为无意间浏览Github上自己的一个repo,里面保存的是几年前工作之余,写的一些小工具。

当时的工作是做嵌入式系统开发的硬件工程师,每天嘴里冒出来的都是ACP、EVM、衰减、增益、dB这样的词汇。面对的都是永远闪着无数个正弦图像的频谱仪或者示波器。面前总是深绿色的PCB和浅灰色的机箱。还有亘古不变的就是贴满交待的自制调试用电源。

在这样的工作中,我还是没有放下程序猿的习惯。遇到什么需要重复的工作,就喜欢Coding解决之。譬如Github中的Cadence_tools这个项目中的两个工具:

  • pinmap_gen:一枚指定Cadence(一款电路设计工具)项目目录,自动提取其中的可编程器件,按照芯片的公司不同(主要就是Xilinx、Lattice、Altera这几家),自动生成对应公司Verilog的端口映射文件,并且自动过滤掉哪些非信号以及未使用的端口。相信哪些需要写大量接口CPLD以及绘制PCB的童鞋来说,一言就明,用起来自然也是得心应手。

  • parttable_to_sql:这是一枚高度公司化的工具。源于当初对公司BOM库中的物料描述混乱的批评。遂做了这款工具,自动将器件库中的阻容感分辨出来,然后把阻容感值、物料号、物料名分别提取出,并以SQL文件的格式导出。剩下的事,自然就是让IT部门的人去做了。

这两个项目的代码,谈不上有多美。但是不管是语法高亮,还是内容缩进。都给人以美之感。不知这是Github的作用,还是程序猿内心里的潜意识。