漠然とした質問ですが・・・自分が気をつけていることは;
他にもいくつかありますが、上記が最も気をつけている点ですね。
漠然とした質問ですが・・・自分が気をつけていることは;
他にもいくつかありますが、上記が最も気をつけている点ですね。
ご回答ありがとうございます。参考になります。
>常に最新技術とあります。
確かに最新技術を積極的に取り入れる姿勢は、素晴らしいとお考えだと思います。私も同意見です。
ただ一方で、最新技術は、何かしらの不安要素を抱えているのも事実かと思います。(ex.突然、統合開発環境が起動できなくなった)
なにかしらのトラブルがあった場合、どのように対処されてきたのでしょうか?
お話が有ればお聞かせ下さい。
>全ての値はコンパイルをせずに変更可能としておく。
かつて、defineで定義したものです。
言語定義における仕様変更・追加が多々あるので、XMLは便利。
ソフトウェアじゃなくてブログですが、
使いやすさを第一にしているつもりです。
「数式コレクション」、「イノゴ8世(日本語)」と「Inogo VIII(英語)」の、
各記事間の相互リンクを張って、見たいページが探しやすいようにしています。
「マトゥサラ(日本語)」と「Mathusala(英語)」の相互リンクは、まだ完成していません。
(はてなで使っているIDと同じ題名ですが、昔はブログ主とは別人を演じていて、ぼくが和訳を投稿しているふりをしていました)
ソフトウェアも同様で、
ヘルプを見たら、関連キーワードをすぐ見られるようにしたらいいです。
Ameba Picoは、「お出かけ」→「SHOP」をクリックすると、
全部の店が表示されて、更に「ファッション」や「アクション」などをクリックすると、
洋服屋だけが表示されたりして便利ですから、アメーバピグにも取り入れて欲しいです。
1.難しいことはやらない(複雑なことをしない)
2.ソフトウェア開発者以外にも理解できる(説明できる)仕組みを心がける
3.なるべく誰でも使える技術を選ぶ(オープンソースや市販品)
4.小さな簡潔な仕組みを組み合わせて、大きな仕組みを作るようにする。
あんまり、特別なことはしないですね。
オーソドックスな感じだと思います。
全般的にもう少し具体的に踏み込んで頂けないでしょうか?
例えば、
>2.ソフトウェア開発者以外にも理解できる(説明できる)仕組みを心がける
共通理解を深めるには、どのような基準が要るとお考えですか?
その上で、どのような仕組みを手掛けてきたのか、お聞かせ下さい。
ポリシーというよりかはもう少し具体的な気をつけていることになりますけど、こんな感じです。
■名前に妥協しない
一口に名前と言っても画面名・項目名・メソッド名・変数名などいろいろありますね。お客様やプロジェクトメンバーがなかなか覚えられなかったり、意味を勘違いした場合にはもっと良い名前があるのではないかと考えて、できれば変えてしまいます。
関係者が固定化されればそのシステムの方言として普通に使われることになるのですけど、必ず新しい関係者は出てくるのでその際のコミュニケーションロスを防ぐ目的です。
■画面や帳票にはプライマリキーを含める
伝票に伝票番号を入れるのは当たり前でしょうけど、それ以外のシステムが内部的にしか使わないような番号でもできるだけ人の目に触れるようにします。
これは、何か問い合わせや不具合があった時に該当データを特定しやすくするためです。ですので目立つところに置いておく必要はありません。
ただしお客様によっては直接関係ない情報は出したくないということもあるので、こちらの目的を説明してそれでも納得していただけないのであればあきらめざるを得ないということもあります。
■備考やメモという項目を用意しておく(ことを検討する)
将来項目が増えるかもしれないのであらかじめ作っておく、ということではありません。そういう時は素直に増やせばよいので。
そうではなくて、例外的なことをしないといけない時などにこういった何でもありの項目を使って人間系の運用でカバーするという選択肢を残しておくためです。
何かの名称マスタで名称の変更が発生して、普通はそのまま更新してしまえばよいのですけどある項目に関しては以前の名称を備忘録的に残しておきたいということがたまたま発生した場合に使ったりします。
あんまり積極的には使って欲しくない項目ですけど。
■エラーログには値も出力する
例えば「ファイルが見つかりません」だけではなくて「ファイルが見つかりません(hoge.xml)」という感じです。
現象の把握をしやすくするためですね。
そんなの当たり前という人も多いと思います。高機能なIDEでの開発が当たり前で開発だけしてあまり運用に関わらないような人ですと、そういう値はデバッガで見れば分かるでしょうという考えなのか、ログに無関心な場合もあります。
理解しやすい設計を心がけてます。
そして設計で重視する項目で他の人と異なるのはテストについてですかね。個人的にテスト性について明確にポリシーをもってます。
ご回答ありがとうございます。参考になります。
>常に最新技術とあります。
確かに最新技術を積極的に取り入れる姿勢は、素晴らしいとお考えだと思います。私も同意見です。
ただ一方で、最新技術は、何かしらの不安要素を抱えているのも事実かと思います。(ex.突然、統合開発環境が起動できなくなった)
なにかしらのトラブルがあった場合、どのように対処されてきたのでしょうか?
お話が有ればお聞かせ下さい。
>全ての値はコンパイルをせずに変更可能としておく。
かつて、defineで定義したものです。
言語定義における仕様変更・追加が多々あるので、XMLは便利。