- PR -

現場に従うべきか・・・return "null";

投稿者投稿内容
未記入
会議室デビュー日: 2006/02/08
投稿数: 12
投稿日時: 2006-02-18 11:07
return "null";

プロジェクトに途中参画しました。
どのソースも、null を "null" と書いています。

文字列を返すメソッドでもエラーが発生時には
文字列の "null" を返すようになっています。
結果として "null" を返す場合には識別できないと指摘したのですが
そのようなケースはあるはずがないという感覚。

"null" を null に変更するコストと納期を考えると、
割り切って、今のやり方で進めたほうがよいと思ったりもしているのですが
★それ以上に悲しいのが、誰も疑っていないということです。

現場のやり方でやるのがプロの仕事人なのでしょうか・・・
非常にくだらないことですが、ちょっと悩んでいます。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-02-18 11:40
私も、

コード:
public class Hoge {
    public static void main(String[] args) {
        String a = null;
        String b = "null";
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}


で a と b の区別ができず困っています。

#チャチャでした。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-18 12:09
お察します。
何故か、見ているこっちが恥ずかしくなるような、妙な感覚に襲われませんでしたか? (^^;)

その方々にとって「null は何のために存在しているのか」判らないんでしょうかね?
「"null"」は文字列以外の何者でもないんですから、「null」とは全然意味が異なりますよね。
それを無理矢理「null」の概念にしているのですか... orz

私なら、言って聞かない場合は「あ、そう」でその場は終わらせておいて、
とっとと異動できるように、その日から動き出しますね。
(まあ、異動までの我慢だと思えば、まだ我慢できる... と思います)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-02-18 14:53
まぁ、null を理解しているようには思えませんがそのルールに従うことで著しく生産性が落ちたり、なんらかの副作用で問題が発生するということもないかな、とも思います。
#なれるまで「未記入」さんの生産性はやや落ちるでしょうけど

まぁ、とりあえず今の現場では放っておく、が全体的には幸せなのではないでしょうか。

メンバーの新陳代謝が激しくて新規参入メンバーの習熟を著しく難しいものにしていたり、null チェックでバグが多く発生していたり、ということであればもう少しがんばって主張してみては?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-02-18 15:06
Javaを良く知らない方がNullPointerExceptionを防ぐためとか言って、
こんなことをやっているのでしょう。
そもそもそんな考え方が間違いなんですが・・・

データベースでもこんなことがありますね。
全てのテーブルの全てのカラムにnot null制約がついているパターン。

#株のバブルと一緒で、間違いに気づいていても、
#突き進まなきゃいけない状況でしょうか。。。

大変かもしれませんが、我慢する大人となり、
バッドノウハウの一つとして、自分自身の財産されるのがいいかと思います。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-02-18 18:24
・新曲nullがミリオンセラー
・時代はNEETからNULL(no unemployment large labor)へ
・萌え・癒し系ブームの次は、温(ぬる/null)ブームだ

ってことになったら、マスターテーブルに商品名が入らないぞ、などといった苦情が殺到して、さすがに考え直すでしょうね。

#あとでネタをちょっと修正。

[ メッセージ編集済み 編集者: unibon 編集日時 2006-02-18 18:26 ]
鎌田
常連さん
会議室デビュー日: 2003/09/23
投稿数: 45
投稿日時: 2006-02-18 19:48
>全てのテーブルの全てのカラムにnot null制約がついているパターン。

データを参照する際にいちいちNULL対策しなくて良いので、特別な理由
がない限りカラムにNOT NULL制約をつけるのは悪いことには思えませんが。
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2006-02-18 21:24
引用:
データを参照する際にいちいちNULL対策しなくて良いので、特別な理由
がない限りカラムにNOT NULL制約をつけるのは悪いことには思えませんが。


同意。プログラミング言語を知らないデータベース専門の人は無効値を NULL で設計したがりますが、無効値を 0 や '' (空文字) として設計するとプログラミング言語との相性が良くなることも多いです。

私の経験した例では・・・。NULL 許可の Numeric 列を VB6 の Long 型で扱うというものだったのですが、Long 型には NULL 値を代入できないので、常にクエリで isnull(hoge, 0) としていたのです。(設計上、有効な値として 0 が存在することはありません。) それなら、データベース設計として 無効値 = 0 としてしまっても良いのではないかと思いました。

さすがに、日付型の無効値は特定の日付(1900/1/1など)で代用することはせず、NULL としていますが、数値型、文字型での NOT NULL は有用だと思います。

スキルアップ/キャリアアップ(JOB@IT)