コーディングスタイル

自己紹介とか、なんでもいいです。
にぎやかに世間話のできる場所

モデレータ: 暇人, YoN, nyu

返信する
Endeavor_wako
記事: 380
登録日時: 09/09/18(金) 01:54

コーディングスタイル

投稿記事 by Endeavor_wako »

C言語において、僕は次のように書いてます。

コード: 全て選択

unsigned int hogehoge( int fugafuga, int piyopiyo )
{
    if( ※中略
}
しかし、次のように書くのが普通だ、との指摘を受けました。

コード: 全て選択

unsigned int 
hogehoge( int fugafuga, int piyopiyo )
{
    if( ※中略
}
これのメリットがどこにあるのか判らん。詳しい方、コメントください。
Main:NEC VersaPro VB-B (Core i5, RAM4GB, SSD, LinuxMint (xfce4,amd64))
Sub:Fujitsu note pc (Celeron、RAM8GB, SSD, LinuxMint (xfce4, amd64))

Puppyを使わなくなって久しい今日この頃。Raspiや32ビットPCにdebian入れてヘッドレスで
遊んでます。
アバター
タロ兵衛
記事: 875
登録日時: 08/07/08(火) 00:11
お住まい: よこはま
連絡する:

Re: コーディングスタイル

投稿記事 by タロ兵衛 »

私は、多分初めて見ます :shock:
どこにメリットがあるか考えましたが、思いつくところがありません。
強いて言うなら、長くなった1行をどこで切るかを、関数の型の部分で切ることで、
短く出来る・・・ぐらいでしょうか。
(最近は構造体を戻り値とする場合が多いから)
行長を短くするなら、引数を次の行に書く例はよく見ますけどね・・・

コード: 全て選択

unsigned int hogehoge( 
    int fugafuga, 
    int piyopiyo )
{
    if( ※中略
}
「何かが良いから」ではなくて、そのプロジェクトの「コーディング規約」なのでは?

私の場合、鬼のように長くても、一行に書いてます。
grepしたときに、一発で引数の渡し方がわかるので。
でも、ふつうは鬼のように長くはなりません。
なるとしたら、それは設計が悪いと考え直して、関数仕様を変更してしまうからです :mrgreen:
neo実験君こと次期メインマシン
Intel Core i5-8400 2.80GHz
xenialpup64 7.5+lang_pack_ja-xenial64e
Endeavor_wako
記事: 380
登録日時: 09/09/18(金) 01:54

Re: コーディングスタイル

投稿記事 by Endeavor_wako »

タロ兵衛 さんが書きました:grepしたときに、一発で引数の渡し方がわかるので。
プロトタイプ宣言をまとめたりする時、都合いいですよね。

相手方に訊いても「とにかく改めてください」的な返事しかなかったので大した理由があるようにも思えないのです。
しかし、Cに似た文法の言語はゴマンとあるので、その辺からのフィードバックなのかなあ、とも。前述のプロトタイプも元はC++からの借り物だし。

書き出しだけ指示どおりにして、中身を次にように書いて溜飲を下げようか、とも。

piyo.h

コード: 全て選択

int a,b,c,d,e,f,g,h,i,j,k;
main.c

コード: 全て選択

#include <stdio.h>
#include "piyo.h"

unsigned int
hoge( void )
{
    if( a == 0 ){
        printf( "hoge\n" );}
    else{
        printf( "fuga\n" );
        b+=1;}
   
    while( c < 0 ){
        if( c == -1 ){
            break;}
        c -= 2;}if(c == -1){;}
    else{
        printf( "piyo\n" );}}
日頃はほとんど「へび使い」なので。実際にやると切られそうなのでやりませんけど。そもそも、ライブラリ(ヘッダファイル)指定されるので、宣言の隠蔽は難しいし。


引き続き情報もとむ。他にこんな書き方がある、これは合理的だ、というのもあれば教えてくださいませ。
Main:NEC VersaPro VB-B (Core i5, RAM4GB, SSD, LinuxMint (xfce4,amd64))
Sub:Fujitsu note pc (Celeron、RAM8GB, SSD, LinuxMint (xfce4, amd64))

Puppyを使わなくなって久しい今日この頃。Raspiや32ビットPCにdebian入れてヘッドレスで
遊んでます。
返信する