2017-06-26

地獄の社内SE

社内SEになった。

仕事を辞めて主夫業に勤しんでいたら、知り合いから声がかかった。

1人で社内システムを作ってきたおじいさんがあと数年で定年になるから

引き継げないかとのこと。

メインのシステムベンダー委託してて、そのおじいさんが作っているのは、

メインシステムデータを加工して2次利用しているものほとんどとのことだった。

社内SEはなんとなく楽そうなイメージがあったので、就職した。

言語エクセルVBAとVB.NET 1.0。

中身を見るとどちらもかなりやばい

VBA編

ウォッチウインドウを知らないのか、変数はすべてセルに入れてる。

 変数名はすべてRANGE("A1").valueみたいな感じで全く意味が分からない。

・処理遷移がおかしい。

 セルに1を入れる。そのセルchangeイベントで処理が動くとか。

 SHIFT+F2が無力化されてる。

・なるべくワークシート関数で処理してる

 データベースからとってきたデータを丸ごとワークシートにコピーして

 if,vlookup,match関数を駆使して帳票にしたり、CSVにしてる。

 データ100件制限があったり、1関数を直すときは100行コピーしないといけない。

 画面中に埋め尽くされたワークシート関数をみて途方に暮れる。

・format関数を知らない。

 8桁の日付をとりたいときyear、month、day関数がワークシートにあり、

 その下の行で月の二けた判定、日の二けた判定のif関数で頭の0をつけ

 3行目でconcatenateしている

タイマー起動

 毎朝100本ぐらいのマクロが動いてる。

 タイマー起動なので、毎日セットしないといけない。(タスクスケジューラーを知らない)

 がんがんエラーが発生するので、マクロ設定をエラー処理対象外エラーで中断にしないと動かない。

・遅い

 textboxのchangeイベントでDBからデータ取得処理を入れているので、データが多くなると1文字打つごとに数分待つ状態

 exitイベントを知らないらしい

 DBの更新処理でもテーブル全件とってきて、ループしながらキーが一致するのを探して更新

そんなつっこみどころしかないEXCELマクロが200本以上ある。

VB編

・.NET1.0

 windows7や8に無理やり.netframework1.0を入れて動かしてる。

 顧客PCにも入れてる

オブジェクト名は代えない

 変えられることを知らないのかもしれない

 textbox100とか存在してる。

 EXCEL同様変数は隠しtextboxに入れてる。

設定ファイルおかし

 1.0なのでconfigがないのはしょうがないが、設定ファイルは固定パステキスト

 行数で管理

・WAITがいっぱいある

 試しに取ったら動かない

・DBを最後まで回すとき

 例外が発生するまでまわす。

変数関数スコープ管理

 ない。基本グローバル

クラス

 ない。

ネスト

 ない。

おじいさんが20年にわたって深夜残業休日出勤を厭わず作ってきた、地獄の社内システム担当になったらしい。

トラックバック - https://anond.hatelabo.jp/20170626005657

記事への反応(ブックマークコメント)

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん