Допустим, у меня есть простое Tree
:
type Tree =
| BinaryNode of Tree * int * Tree
| Tip
member this.Sum =
match this with
| Tip -> 0
| BinaryNode(left, value, right) -> left.Sum + value + right.Sum
, и я определяю дерево следующим образом:
let tree = BinaryNode( BinaryNode( Tip, 2, Tip ), 1, BinaryNode( Tip, 3, Tip ))
Но я думаю, что действительно трудно читать, если у нас естьдерево с несколькими узлами.Поэтому я заключаю его в несколько строк, как показано ниже:
[<EntryPoint>]
let main argv =
let tree =
BinaryNode(
BinaryNode( Tip, 2, Tip ),
1,
BinaryNode( Tip, 3, Tip )
)
printf "%A" (tree.Sum)
0
Приведенный выше код работает, как и ожидалось, в Visual Studio
.Но когда я использую Visual Studio Code
с Ionide
, это напоминает мне, что:
Lint: за запятой в экземпляре кортежа должен следовать один пробел.
Мой вопрос:
- Я в замешательстве.Плохо ли оборачивать кортежи в несколько строк?
- Если нет, то как замкнуть ворс?
- Если ответ Да, как улучшить читаемость, когда у нас десять узлов?