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

    リファクタリングのやりがいがあって良さそうな職場じゃん!笑

  • https://anond.hatelabo.jp/20170626005657

    マジレスすると、「クソなんで改修するわ」で工数とって自分流に改造できるんだからかなりいけてる職場だろ。 昔の人はやめるんだしもうその人のことなんて気にしなくていいわけだ...

  • https://anond.hatelabo.jp/20170626005657

    おじいさん「毎日、タイマーセットするのが仕事でな。タスクスケジュウラァに任せたら、わしの仕事が無くなっちゃうじゃろ?」

  • EXCEL95時代から引きずってる社内システム?!| ただの通りすがり

    「ここおかしんじゃないの?」と見えるところも、実際にはなにか意味があったり、理由があったりすることもあるよという話です。 人間関係と同じく、システムもいろんなしがらみが...

  • https://anond.hatelabo.jp/20170626005657

    Perl4以下なスクリプトをPerl5にせっせと移植していたときのこと思い出した。

  • https://anond.hatelabo.jp/20170626005657

    俺の仕事も似たようなもの。 月毎の処理が正規化されてないから、 月が変われば手作業でソースの項目名を修正するんだぜぇ ワイルドだろう? わざわざうるう年かどうかをユーザー...

  • https://anond.hatelabo.jp/20170626005657

    おじいさんの定年まであと数年ってことは天国じゃないか?

  • https://anond.hatelabo.jp/20170626005657

    ベンダーのシステムに組み込める要素は無かったのかな? 結構な年数あるんだし、タイミングはあったと思うんだけどね。それをしない無能だったのか。 とりあえず、糞プログラム稼働...

  • [web]Visual Basic for Applicationsの素晴らしさ

    こんな話がある→https://anond.hatelabo.jp/20170626005657 当人は地獄だなどと言っておりはてなーの半可通一堂も頷いているが、全く心得違いである。主夫上がりの新人ですら簡単に読み解け、不...

  • https://anond.hatelabo.jp/20170626005657

    タイトルでチャックノリス的な何かだと思ったのに・・・

  • https://anond.hatelabo.jp/20170626005657

    うちの1万行1関数のVBと似たノリだねー。 こっちも書いたのは爺さんだった。 同じ設計思想で書かれたVBのバッチが80個ほどあってWin10でのテストが自分に回ってこないかふるえる毎日。

  • https://anond.hatelabo.jp/20170626005657

    マイクロソフトさん製のExcelだのVBであれば、サポートやデータ互換の余地があり、ノウハウの使いまわしができるだけ、まだましだぞ。 東芝のThe PIPSがすごーいとかリコーのマイツール...

  • https://anond.hatelabo.jp/20170626005657

    本当の地獄はリファクタリングなりモダナイズが終わった後にやってくるよ 何もする事が無い一人の部署 話し相手もいない 相談相手もいない 評価もされない 定時であがるし 給料も貰...

  • https://anond.hatelabo.jp/20170626005657

    20年前に作ったシステムってことを無視したコメント大杉ないか 主な機能が問題なく動いているシステムに手を加えることへの抵抗と予算が降りないことくらいよくわかってるだろ

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

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