misc.log

日常茶飯事とお仕事と

Visual Studio 2017にクラスデザイナーを追加する

研修でクラス図にちょっと触れたものの、ゼロから描くのも面倒だし、新しいツールを入れて試す時間もないのでVisual Studio自体にそういう機能ないんか?と思って調べたところありました。「クラスデザイナー」。呼び出すには、ソリューションエクスプローラーからプロジェクトを右クリックして「クラス ダイアグラムで表示」を選択……と思ったのですが無い。出てこない。というわけで、多分拡張機能だろうとおもい以下の手順で追加してみました。

  1. [ツール]-[ツールと機能を取得]でインストーラーを開く。
  2. Visual Studio Installerで「個別のコンポーネント」を選択。真ん中のちょい下くらいにある「クラスデザイナー」にチェックを入れて「変更」を押す。

でいけそうです。インストールに際してはVisual Studioをはじめとした関連ツールを終了させるようメッセージが出ることがるので、指示に従ってください。

f:id:frontline:20190523092113p:plain
Visual Studio Installerからクラスデザイナーを選ぶ

しばらくしてインストールが完了すると、「起動」というボタンが出た状態に切り替わるので、それでVisual Studioを再度起動。

クラスデザイナーの呼び出しはどうやらプロジェクトへの項目追加で「クラスダイアグラム」を追加する必要があるようです。

f:id:frontline:20190523105434p:plain
クラスダイアグラムの追加

追加したクラスダイアグラムを開くと、クラスデザイナー画面が表示されます。ここで新しいクラスを追加してもいいですし、既に作成されたクラスが複数あれば、そのソースをソリューションエクスプローラーからドラッグ&ドロップすると、メソッドやプロパティ、クラス同士の継承関係なども全部矢印でつないで表示してくれます。

この画面からクラスを追加したりメソッドなどを追加しても自動的にソースが生成されるようですし、既存のものも下図のように表示されるので、ソースの解析などにも使えるかと思います。便利な時代になりました。

f:id:frontline:20190523110932p:plain
クラスデザイナー画面

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

Visual Studioでビルドが行われずスキップされる

Visual Studio 2017で、研修用のサンプルソースをbinとobjフォルダを除外してZip圧縮、配布したところ、展開したソースが下記のエラーで動かないという問い合わせが来ました。

f:id:frontline:20190522164418p:plain
プロジェクトをビルドしてからやり直してください……エラー

エラーメッセージは「~.exe が見つからないため
VisualStudioでデバッグを開始出来ません。プロジェクトをビルドしてからやり直してください。またはoutputpathおよびassmbly nameプロパティをターゲットアセンブリの正しい場所に適切に設定してください。」というもの。リビルドなどをやってみると、ログ出力に「1 スキップ」となっていて、ビルドからプロジェクトが外されているようです。

以前にもなんかあったなぁ……とおもいつつソリューションのプロパティを確認すると、ソリューション名を右クリック→プロパティで表示されるプロパティ画面で、ソリューションに含まれるプロジェクトごとにビルドするかどうかの設定があり、そこがOFFになっていました(下図)。

f:id:frontline:20190522164744p:plain
ソリューションプロパティ

この「ビルド」列にあるチェックボックスをONにすると、無事ビルドされてプログラムが動くようになります。なぜこの設定が外れたのかは判りませんが……。参考まで。

作って覚えるVisual C# 2017 デスクトップアプリ入門

作って覚えるVisual C# 2017 デスクトップアプリ入門

1 on 1ミーティング

なんか技術系カンファレンスとかでも話題になったためか、なんとなく流行ってる感じですね。ワンオンワンミーティングというもの。

上司や先輩とサシで打ち合わせの場をもって、目標の確認や課題の洗い出しなどを行うような打ち合わせのことですが、下記ブログに書かれていることに私も心底同意です。

www.orangeitems.com

評価制度にのっとった目標設定などであれば分かりますが、日常の業務を行うに当たってのローカルな目標とか、ほんと不要。そんなのこそ自分で自分のために自分がモチベーションを維持するために決めるもので、言われてやることではないし、ましてや状況を監視、管理されて行うものじゃない。また、目標を達成しても何一つ変わらない、その上司の心証が良くなるだけの目標なんて、一体なんのためのもの?意味がない。意味が無いことはやるべきでは無い。私はそう思います。

ただ、今新人研修を行っていて、その中で形式上ワンオンワンになっている面談があります。これは、個人的な見解としては「新人が抱え込んでしまいがちな問題を洗い出したり引き出したり、また、形式的な定期打ち合わせにすることで相談しづらいことを聞き出す場を定期的に用意し、互いに何か相談しているということを分かりづらくする」という目的でやっている、あくまで新人のサポート面談。こういう若手を支援するものであれば形式によってはアリなのでは無いかと思いますが……。実際、誰かが誰かに相談している、という事実自体を見せたくないという状況もあるので、定期的に雑談でも何でもいいので話せる場を設けることで目立ちにくくするというものですね。昔はこういうのが飲み会の場や喫煙所で行われていたのでしょうけれど、今は誰もが飲み会に参加する時代ではありません(昔みたいに飲めない人、たばこを吸わない人を無理矢理飲み会の煙だらけ、アルコールが充満する空間に引き出すのはあり得ないです)。であれば、違う形でやるべきで。研修担当だけではなく先輩たち全体の中で、意気投合できるタイプの人を見つけて相談相手になってもらう。こういうのはアリだと思います。

しかし、日本の企業にありがちな「何が何でも目標を設定させ、上司の指示として徹底させることで上司のプライドや立ち位置の明確化を行い、相手を制圧して優位に立っていることを互いに認識する」みたいなのは絶対にやるべきではないと思ってます。

ま、あとは問題として、そういう「強制力や相手を制圧するような面談」をやらないとコミュニケーションがとれない人たちをどうするかですね。大抵の場合10年以上もそのままやってきていて既に修正が効かない場合が多く、ちょっと指摘した程度では納得も理解もしてもらえません。そういう人は本来管理や評価者としての立場から外すべきなのですがなかなかそうも行かず……。難しいところです。

シリコンバレー式 最強の育て方 ― 人材マネジメントの新しい常識 1 on1ミーティング―

シリコンバレー式 最強の育て方 ― 人材マネジメントの新しい常識 1 on1ミーティング―

1on1マネジメント

1on1マネジメント