拝啓 半導体エンジニアさま(29) ―― 時にはパーソナルな補助ツールをメンテナンスしよう!

ジョセフ 半月

tag: 半導体

コラム 2011年10月 4日

 最近はいろいろと良い開発ツールがあります.それがまた結構使いやすくて,それほど苦労もなく,すぐに使えてしまいます.非常に便利になりました.

 昔を振り返ると,設計用の新しい開発ツールというと,そのお値段もさることながら,実際に導入してから使えるようになるまでの手数が多く,身構えてしまうようなところがありました.まずはツール・ベンダが開催する数日間くらいの入門セミナを受講し,環境をセットアップし,自分のプロジェクトに合わせてライブラリなどを準備します.そして使い始めるのだけれど,何か問題が出てきて,本当に使えるところまでたどり着くのに数カ月かかったりしていました.

 最近も入門セミナなどがなくなったわけではないのですが,Webベースになっていて,自分の都合のよいときに受講できたり,手元のパソコンで自習できたりと,ささっと始められることが多いように思います.また,環境やライブラリも,いろいろなプロトタイプやテンプレート的なひな形が提供されており,一から作らなくても,適合しそうなものを流用することにより,比較的短時間で実作業に入れる場合が多いと思います.

 

●ベテランの設計者は自分だけの補助ツールを作り溜めている

 便利になったのは良いのですが,ツール側でいろいろと面倒を見てくれるからといって,それに頼り切っていると,後で痛い目にあうことがよくあります.その多くは,ツールを「ブラックボックス」的に使っている場合です.ツールの「内部ロジック」をきちんと理解して使いこなしていれば問題はないのですが,忙しさにかまけて中を理解しないまま使っていると,自分の意図とは異なる状況になり,落とし穴にはまるようなケースがよくあります.

 その点,中身が分かっていて安心して使えると思うのは,自分で作成したりカスタマイズしたマクロやスクリプト,スニペットといった小さい補助ツールのたぐいです.どのような設計でもそうだと思うのですが,定石の手順というものがあり,ある程度経験を積んだエンジニアであれば,それが確立され蓄積されているはずです.多くの方は,毎回その手順を一からたどるのではなく,自分だけに有効な補助ツール(それはソフトウェアとは限らない.板に手で書き込んだ目印かもしれない)を使って,スムーズに作業を進めていることでしょう.

 そういうパーソナルな補助ツールの良いところは,自分の中の思考の過程に沿って繰り返すべき個々の小さな設計ステップを自動化している点です.中の処理が分かっているだけに,いつでも自由に途中の過程に介入して,操作したり,確認したりできます.また,そのような補助ツールは,自身の要求だけに適合していればよいので,多数の人の使用を前提とした際に必要になるエラー・チェックとか,汎用性とか,ドキュメンテーションとかを気にしなくて済むことも利点の一つだと考えます.みんなで共通に使うツール類とは異なり,これはあくまでも個人の道具箱です.

 そういう道具箱が充実してくると,非常に素早く設計がこなせます.新人のエンジニアが驚くようなスピードで作業が進み,まさにベテランの技を出せるようになります.また,新人エンジニアもベテランの道具箱の有効性に気が付けば,それをまねしたり,もらったりしてみると良いでしょう.ただし,この手のツールはあくまでもパーソナルなものなので,それを使っているベテランの人の思考ステップを理解するか,自分の思考形態に合わせて自分なりのものにカスタマイズしないと使えない,ということにも気付きくでしょう.

 いずれにしても,良い開発ツールが一つあれば,その周辺にはそのような小道具やノウハウといった,一種の"設計文化"のようなものが育ってくるのだと思います.

 

●開発ツールの乗り換えを機に,補助ツールをブラッシュアップ

 それだけに,一度手になじんだ開発ツールの利用をやめて,別系統の互換性のないツールに乗り換えるということには,抵抗を感じるのが普通です.「せっかく蓄積したものを手放すの?」という感じです.確かにあまり頻繁に乗り換えるのは,オーバヘッドばかり多くてよろしくないように思いますが,たまに乗り換えるのは悪いことではありません.

 というのも,1日1個か,1週間に1個か,ペースはいろいろだと思いますが,ちょっと気がついたときに作りためた小さいツールも,何年も同じ系統の仕事をしていると,数百もたまっており,中には陳腐化したり,自分でも中のロジックを忘れてしまったりしているものもあるだろうからです.せっかくのパーソナルなツールも,さび付いてしまっていては使いものになりません.開発ツールの乗り換えを機に,こうしたツールを見直してみるのも良いのではないかと考えます.

 ツールの能力によっては不要になるものもあるでしょうし,そのままに近い形で使えるものもあるでしょう.いずれにせよ,よく使うものから「移植」するという感じになると思います.その際に,中のロジックも見直してみましょう.すると,意外と作った時点では考えていなかった冗長な部分や改良方法をきっと発見できます.もしかすると潜在していた問題点が見つかり,今までそれが表面に出なかったことにホッとするかもしれません.

 それらを見つけて手直しをしていくと,自分の中の設計のレベルが一段階,向上するのではないでしょうか.ちょっと面倒くさいプロセスではありますが,何かの機会に小道具をブラッシュアップすることは,自分の中の設計プロセスを見直すことにつながると思います.

 

ジョセフ・はんげつ

 

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日