にわとり速報

ニュース系の記事を中心としたまとめサイト

    技術

    1: ノチラ ★ 2018/04/27(金) 21:01:14.39 ID:CAP_USER
    命名規則に関連するクソコード
    クラス名、メソッド名、変数名などのネーミングを誤るとクソコード認定されてしまいます。会社やプロジェクトごとに多少のルールの違いはあるにせよ、どこに行っても漏れなくクソコード認定されてしまうネーミングパターンのご紹介です。

    ネーミングが「記号+番号」
    クラス名や変数名はわかりやすい名称にしましょう。ネーミングを見て内容を推測できるようになっていることが重要です。「記号+番号」ではそれを見るだけでは何のプログラムであるかを推測することは不可能です。

    ネーミングに日本語、英語、ローマ字が混在
    プロジェクトによってクラス名や変数名のネーミングルールは異なりますので、何がダメだというわけではありませんが、自由すぎるネーミングを行うのはやめましょう。きちんとプロジェクトでルールを統一することは重要です。

    またにクラス名や変数名に日本語を使用することは言語仕様上可能とはなっておりますが、アルファベットを使うことが慣習となっていることと、日本語だとIDEの補完機能がうまく機能しないことがあって非効率化の原因となりますので、避けた方が無難です。

    ネーミングにスペルミスがある
    ネーミングでスペルミスがあると、後でソースコードから文字列で該当箇所を検索する時に検索にヒットせず、改修漏れの原因にもなります。正しいスペルと間違ったスペルが混在していたりするともう最悪です。スペルミスのないように気をつけましょう。

    ネーミングに個人名が使われている
    ネーミングはプログラムの中身がわかるような名前にするという観点からも、プログラムの中に自分の名前にすることは適切ではないのでやめましょう。

    またソースコードレビューの時に思いがけず恥ずかしい思いをすることになるかもしれません。私は新人の時に「yonemura.sh」という名前で自分用に作ったシェルが他社に買い取られることになってしまい、他の会社のエンジニア20名くらいの前で「よねむらシェルとは・・・」と説明会で大きな声で読み上げるはめになって大変恥ずかしい思いをしたことがあります。

    個人で使うプログラムでもプログラムの中身を表した無難なネーミングにしておくことを強くお勧めします。

    ネーミングに番号やアルファベットの連番が使われている
    クラスや変数のネーミングに、1からの連番やaからの連番を使うと、クラスや変数の中身を推測することが不可能になってしまうのでやめましょう。こういうことをすると後でそのプログラムをメンテナンスする人に、一々プログラムの処理を細かく解析することを強いることとなり、「このクソコード書いたやつまじで氏ね」と言われてしまいますのでやめましょう。

    可読性に関連するクソコード
    プログラムは後でメンテナンスするためにも、読みやすく書くことが非常に重要です。処理の内容だけ見ると読みやすくても読みにくくても実行される内容は同じかもしれませんが、読みやすいソースコードは改修の工数を下げますし、バグが混入するリスクも下げてくれます。

    ネストが異様に深い
    ソースコードの中にネストが何重にもなっている箇所があると可読性を下げてしまいます。ネストを何重まで許可するかはプロジェクトによって異なりますが、個人的には3重か4重くらいまでにおさまるようにコーディングするよう心がけていました。

    これとセットで「1行の文字数は80文字まで」みたいなコーディング規約があるとさらにカオスな感じになってきます。ネストが10階層+1行80文字までとか、考えただけでも嫌になりますね。

    インデントがずれている
    今どきエディタが良い感じにインデントしてくれるのに、まさかインデントがずれているソースコードなんて存在しないと信じたいところですが、昔作られたソースコードだとそういう化石みたいなクソコードにお目にかかることはあるようですね。

    カッコの閉じ位置のインデントがズレていたりすると、著しく可読性を下げますし、コードの解析を誤るリスクも増えてしまいます。こういうことをすると漏れなくクソコード認定されてしまうでしょう。

    1つのメソッドが異様に長い
    たまに1つのメソッドが異様に長いソースコードにお目にかかることがあります。私の個人的な感想だと某国にオフショア開発に出されてウミガメのように日本に帰ってきたソースコードにそういうメソッド分割の概念が消失してしまったかのようなソースコードが多いように思います。

    1つのメソッドの長さが数千行にも及ぶような男前なソースコードにバグが混入してしまい、解析及び改修をしなければならなくなった時には絶望するしかありませんね。
    以下ソース
    https://axia.co.jp/2018-04-27

    【お前らの書くコードクソ過ぎwwwwIT土方かよwww】の続きを読む

    1: ノチラ ★ 2018/03/21(水) 19:30:05.13 ID:CAP_USER
    ソニーコリアが19日、ソウルで新しいフルフレームカメラの発表会を開いて韓国のフルフレームカメラ市場で1位を占めたいという抱負を明らかにした。

    この日、ソウル・ウェスティン朝鮮ホテルで開かれたソニーの新製品発表会ではフルフレームミラーレスカメラ「α(アルファ)7 Ⅲ」が公開された。α7 Ⅲは昨年、ソニーが発表した高級型フルフレームミラーレス「α9」の普及型モデルだ。α9に使われた2420万画素の裏面照射型Exmor R CMOSイメージセンサをそのまま搭載して前作の「α7 Ⅱ」に比べてオートフォーカス(AF)速度は2倍、処理速度は1.8倍速くなった。

    ミラーレスカメラはその間、▼ミラーボックスによるブラックアウト▼メカニカルシャッターの騒音と振動▼動体追随範囲の制限--などでDSLR(デジタル一眼レフカメラ)に比べて性能に限界があるという指摘を受けてきた。しかし、「α7 Ⅲ」はこのような既存のミラーレスカメラの限界を克服したという評価を得ている。

    ソニーコリアのペ・ジフン部長は「今年の目標はソニーの最終目標である高級型カメラ市場で2倍以上のシェアを増やすこと」としながら「今年の目標はフルフレームカメラ市場で数量と金額面で1位を達成すること」と話した。
    http://japanese.joins.com/article/726/239726.html

    【ソニー「韓国のフルフレームカメラ市場で1位狙う」 】の続きを読む

    このページのトップヘ