ただいま修行中...

ソフトウェア開発において、勉強中で悪戦苦闘の日々

カプセルかは重要な一つ

2010-02-16 22:21:36 | プログラミング
クラスを作成するときに、重要な一つがカプセル化になります。最近、私がコードレビューをしていると、このカプセル化ができていないようなコードを多々見受けられます。

例えば、どういったことかというと、List<string>をpublicにしてしまい、本来はデータの操作は不要であり、AddやRemoveがクラスの外側でできてしまうなどがあります。

これらは、本来は、List<string>を内部で使用したクラスを作成するべきであって、List<string>はpublicにしてしまうのはカプセル化の概念から反してしまうのです。

割と上記のようなコードがあるので、レビューした後に必ず、カプセル化について説明をするようにしています。

カプセル化は重要なことの一つであるので、しっかりと見につけなくてはなりません。

待たせないことが重要

2010-02-15 23:10:51 | ビジネス
最近、どうも携帯電話の調子が悪いと思って、ドコモショップに持っていたところ、おそらくメーカで無償交換の対象になるであろうということで修理に出しました。

そのときの対応が非常によく、私が最近、色々なお店にいった中では、接客が一番だったと思います。

対応として良かったことは、カウンターがいっぱいだったので、待たせないようにするために、違う待合席みたいなところで、対応をしてくれました。ここで、一番に考えているのは、待たせないことを第一に考えているところであると思います。

先日の家電量販店では、こういったことはまったくありませんでした。待たせて当たり前・忙しいから対応できないといったような雰囲気がありました。

色々なところでリコールや初期不良などの問題はありますが、対応次第で受け側の気持ちに伝わると思います。

待ち行列モデルにしたらすごいことになりそうだなと思いました。

人生で初めてのパーマ

2010-02-11 22:07:09 | 未分類
今日、産まれて初めてパーマをかけてみました。そんなに長い髪ではないので、毛先だけのピンパーマと呼ばれるものです。

帰ってきて、妻が髪型を見たらそれなりに好評でした。

最初にパーマ液を落とすために、シャンプーをしましたが、そのときに、頭がモジャモジャしていて、大泉洋さんみたいだと思いました。ブローをしていくと、モジャモジャがなくなり、思い描いていた髪型になりました。

しばらくこの髪型にしようかなと思っているので、短髪からパーマヘアーでイメージチェンジをしていこうと思います。

立場が上になるほど技術を磨く必要がある

2010-02-10 23:35:30 | ソフトウェア開発
ソフトウェア開発において、立場が上になればなるほど、プログラミング技術やデザインの技術を磨かなくてはなりません。

プログラミング技術に関して、立場が上の人ほど、採用するアーキテクチャや技術について決断をしなくてはなりません。そのためには、昔の技術だけでは判断することができない場合があります。(必ずしもそうではない場合もあります)

デザインに関しても、ユーザーインターフェースというのは流行というものがあるので、流行に合っているのか、あるいはここは昔のものでもかまわないのかを判断する必要があります。

つまりは、判断を下すために、技術というものを磨く必要があるのです。

たまにありますが、なぜこの機能が必要なのかがわからない人もいます。

かなり乱暴な表現をすると、これははっきりといって、マネージャ失格なので、技術以前の問題なのかもしれません。

テストコードの重要性

2010-02-08 23:18:50 | プログラミング
このブログ上で何度かテストコードの重要性については書いてきました。

最近、テストコードを先に書きなさいと指導をしても中々テスト駆動でなく、後からテストコードを書いたり、テストコードがなかったりします。

私が修正をしていて、この処理だと、このテストコードは通らないだろうなと思って、テスト実行すると、なぜか通ってしまったり、修正しようと思い、テストコードを探してもなかったりします。

やはり、言い続けるにも限界があったりします。私とは別の仕事をしたときには、結局描かなかったりします。

これは恩恵を受けていないこと・そういった教育を受けていないことがあります。

テストコードは、誰かが修正するときに、それを見ればどのような振る舞いをするのかを明確になったり、クラスを設計する前にどのような振る舞いにしようかを考えるようになります。

こういったことを口で言っても伝わらないので、やはり本人が苦労するのが一番なのかなと最近思います。

テストエンジニアにもモデリングは必要

2010-02-01 22:34:38 | ソフトウェアテスト
今日、久しぶりに、プログラム経験の少ない人とテストエンジニアにテストの基礎的な内容の研修を行いました。

その中の説明の一つに情報(データ)がどのように流れていくかをしっかりと考えてテストケースを作成することの重要性を説明しました。

そのときに、テストケースを作成する上では、モデリングまでいかなくてもデータがどのように流れていくかを考える図などを描く能力は必要だなと思います。

それが、シーケンス図オブジェクト図までいかなくてもそれらしいものは描く能力が必要であると思いました。

なぜ必要かというと、共通の図化したものがあれば、誰が見てもわかるので、共通の言語になるからです。

これらが、情報(データ)が色々なところで活用するようなシステムでは必要な納涼苦であると思います。