具有多个构造函数的"数据"的命名约定

时间:2016-04-07 02:00:30

标签: haskell

具有多个构造函数的长数据的命名约定是什么?我该如何格式化?

data MyData = 
  MyData1 
    { var1 :: Int
    , var2 :: String
    , var3 :: String
    , var4 :: String
    , var5 :: String
    , var6 :: String
    , var7 :: String
    , var8 :: String
    } |
  MyData2 
    { var1 :: Int
    , var2 :: String
    , var3 :: String
    , var4 :: String
    } |
  MyData3 
    { var3 :: String
    , var4 :: String
    }

我还没有发现任何相关信息。

更新:

我的意思是,我如何放置构造函数和字段以及" |"。一行,不同行?什么在一条线上,在不同的线上是什么?

2 个答案:

答案 0 :(得分:1)

惯例是使用普通英语中的名称来反映数据类型实际上应该的含义。这些数据代表什么?这些田地的意义是什么?用于存储的var1是什么?

在答案后为您的字段命名。

答案 1 :(得分:1)

对于格式设置,通常建议您调整=|(例如https://github.com/chrisdone/haskell-style-guide#data-typeshttps://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md#data-declarations):

data MyData = MyData1 
                { var1 :: ...
                , var2 :: ...
                }
            | MyData2 ...

data MyData 
  = MyData1 { var1 :: ...
            , var2 :: ...
            }
  | MyData2 ...