Sukoyaの日記: プログラマ問題 9
日記 by
Sukoya
コードが書けないのに設計できるのか?という問題は常につきまとうが……
プログラマーだって全員が業務を把握しているとは限らないのでは……?
でも、業務は把握していなくても、設計が読めないとプログラムは書けないか。
それに対し、設計は業務とプログラムの中間あたりにいるんだし、コードが書けないのに設計するのはおかしいか?
でも、我輩もC言語なんて趣味でしか扱わないけど、DBの知識とJavaやPythonやCOBOLのスキルで各種環境に対して設計しているしな……
コードが書けないっていうのはどういうレベルの事を言うんだろう。
設計者に必要な資質 (スコア:2)
一番重要なのは、その要求が論理的な整合がとれているか明確に、そして、直感的に判断出きること。
そして、その要求の実装が納期まで出きるかどうか判断出きること。
実装が大変な場合、オルタネートを提示できること。
あと、プログラマがアホの場合アルゴリズムを示唆するだけの頭があること。
かな。
まあ、プロのコードは、エラー処理の多さと、改編の容易さだが、そういう所はあんまりいらない。
Re: (スコア:0)
>一番重要なのは、その要求が論理的な整合がとれているか明確に、そして、直感的に判断出きること。
一番欲しいのは、要求仕様の不足や背反をキッチリと客側とすり合わせ出来る事、かな。
それが出来るのであれば、製造側とのすり合わせについては先ず心配がない。
出来ない時は口を酸っぱくして対応を求めて、後は「問題が起きないですみます様に」と天に祈る事、か。
Re: (スコア:0)
「ここはなぜこんなファビュラスな設計になっておるのですか」という質問をガン無視しないでくれたらそれでいいや
Re: (スコア:0)
「プログラマがアホの場合」は置いといて、
「アルゴリズムを示唆する」部分がお前じゃ無理だよレベルのものしか書けないのが
コードを書けない設計者の困ったところでして。
で、本当にアホな実装者だとそのまま実装しちゃいますんで。
実装を理解しない設計者と要求を理解しない実装者が噛み合ったところに多くの不幸は産まれます。
設計者と実装者のレベルを合わせないといけません。
Re:設計者に必要な資質 (スコア:2)
> 設計者と実装者のレベルを合わせないといけません。
結構、下のレベルであっているのが現状の悲劇。
設計者は実際のコードを書けなくてもいい (スコア:2)
ただ、計算機アルゴリズム的に、または現在使用可能な物的・人的リソースで、現実的に実装できるかを判断できるくらいの知識が必要じゃないかな。
極端に言えば、できないことをやらせるようではだめ。
なにで、どのくらいのことができそうかを想定できるくらいには、知っていてほしい。
あとは、制約とかをしっていることかな。
最近だと、トレンドを掴んでいることも重要かもしれないが。
コードが『書ける』=FizzBuzzクイズを解ける (スコア:1)
線引きで言うなら、FizzBuzzクイズの出番でしょうか。
念のため、ここで言う「FizzBuzzクイズを解ける」とは、FizzBuzzクイズと同程度の問題を出されたら解答できるという意味です。
FizzBuzzそのものが書ける(≒その言語でのFizzBuzzの答えを覚えている)という意味ではないですし、FizzBuzzコードゴルフやFizzBuzz大喜利で遊べるという意味でもありません。
あの程度の難度の仕様が与えられた時に、苦もなくコーディングできるくらいの理解力、設計力、実装力が備わっているという意味です。
「コードを書けずに設計ができるか」は不明ですが、「コードが『書ける』奴なら設計はできる」は真と言って良いのかも。
Re: (スコア:0)
> 「コードを書けずに設計ができるか」は不明ですが、「コードが『書ける』奴なら設計はできる」は真と言って良いのかも。
それは無い。
射撃のうまい奴が、作戦も立てられるか?って話で、設計とコーディングでは知識範囲が全く別物なので、コーディング出来ることは何のあてにもならん。
同じだと思ってる人が設計やると、本当にどうしようもないものが出てくる。
両方できるやつもいるし、設計だけのやつも、コーディングだけのやつもいる。
どっちかが包含関係にあるわけじゃない。
Re:コードが『書ける』=FizzBuzzクイズを解ける (スコア:1)
なので、元コメでは『書ける』を『』で囲いました。