涼の成長記録

自らの人生に主導権を持つべく、独立を目指して2014年3月31日を持ってITエンジニアを退職。そんな23歳♂の成長記録。

混沌としたコード

また、アクセス数が跳ね上がった

昨日、100PV行って嬉しいー!みたいな日記を書きましたが、今見たら140まで増えていました。アクセスの半数をはてなブログから、と書いたのですが、昨日と今朝で、mixifacebookからのアクセスが一気に増えました。mixifacebookに、友達なんて殆どいないし、ITエンジニアは1人もいなかったような気がするのですが、見て頂けるのは嬉しいものです。ありがとうございます。


カオス

さて、今日から会社の業務が変わりまして、とあるシステムにAサブシステム、Bサブシステムがいて、Bサブシステムを大人の事情で排除するから、Bサブシステムのいくつかの機能を、Aサブシステムに移植する、といったお仕事です。まあ、大人の事情と言っても、ただのハードウェア的なコストダウンなのですが。

で、Bサブシステムは対ボードの組み込み系ソフトウェアで、言語はCなのですが、移植先のAサブシステムは、Windows GUIアプリケーションで、言語はC++です。軽く移植してやろうと考えていたのですが、Bサブシステムのソースコードは混沌としていました。混沌としたコードです。カオスなコードです。


カオスその1:複雑に絡み合うタスクと、グローバルスコープな変数

1つのグローバル変数に多数のタスクから書込みを行っており、危険な臭いがします。まあ、Bサブシステムのプラットフォームでは、システムコールを読んだりしないと、タスクが切り替わらないので問題無いっちゃ問題無いのです。いわゆるノンプリエンプティブなマルチタスクってやつですね。


移植する際に、クリティカルセクションとかで、同期を取るように改修しても良いのですが、そうすると更にカオスなことになりそうです。カオスがカオスを呼ぶ状態です。カオスですね。ええ、カオスです。


カオスその2:長いルーチン

ただただ、ルーチンが長いです。800行とか平気であります。まあ、私の目の前で2000行ぐらいのルーチンと格闘しておられる方も、いらっしゃいますので、それに比べたら良い方ですかね。


カオスその3:ソースコードでバージョン管理

何故かバージョン管理システムを導入していない我が社のコードは、ソースコード内に改修内容を記録します。既に6度のメジャーバージョンアップが行われており、コードはコメントだらけ、つぎはぎだらけ、でまさにカオスです。



・・・という記事を書いているうちに、この仕事が無しになってしまったので、記事もここまでで(笑)こういうことも、よくある業界なんですねー(適当)本当は、カオスなコードをリファクタリングする過程等を書こうと思っていたのですが、また今度で。


これでは、ただの汚いコードへの愚痴になってしまったので、カテゴリも「プログラミング」じゃなくて「日記」にしておきます。ここにきて、フリーダムさが増してきた"涼の成長記録"でした。今後ともよろしくお願いいたします。


ではでは。