Рекомендации при написании кода
Общие рекомендации
- 
Используйте краткую форму записи лямбда-выражения, если его тело однострочное.
знч Результат = (Текст: Строка) -> Текст.Длина()знч Результат = метод(Текст: Строка) ->
возврат Текст.Длина()
; - 
Используйте ссылку на метод вместо лямбда-выражения, если его тело не умещается в 5 строк.
знч День = &ОписаниеДня
метод ОписаниеДня(ТекущийДеньНедели: ДеньНедели): Строка
пер СообщениеДня: Строка
выбор ТекущийДеньНедели
когда Суббота, Воскресенье
СообщениеДня = "Сегодня выходной"
когда Пятница
СообщениеДня = "Завтра выходной"
инач е
СообщениеДня = "Сегодня будний день"
;
возврат СообщениеДня
;знч День = метод(ТекущийДеньНедели: ДеньНедели) ->
пер СообщениеДня: Строка
выбор ТекущийДеньНедели
когда Суббота, Воскресенье
СообщениеДня = "Сегодня выходной"
когда Пятница
СообщениеДня = "Завтра выходной"
иначе
СообщениеДня = "Сегодня будний день"
;
возврат СообщениеДня
; - 
Не указывайте типы параметров лямбда-выражения, если они могут быть выведены компилятором из контекста:
- 
из типа параметров системных методов;
Массив.СортироватьПо(Студент -> Студент.Оценка)// Тип параметра известен из описания системного метода
Массив.СортироватьПо((Студент: Студент) -> Студент.Оценка) - 
из типа параметров собственных методов;
пер Рез = СравнитьСтроки(
ПерваяСтрока,
ВтораяСтрока,
(Строка1, Строка2) ->
Строка1.Длина() < Строка2.Длина()
)
метод СравнитьСтроки(
Первая: Строка,
Вторая: Строка,
С равнить: (Строка, Строка)->Булево
): Булево
возврат Сравнить(Первая, Вторая)
;пер Рез = СравнитьСтроки(
ПерваяСтрока,
ВтораяСтрока,
// Типы параметров известны
// из объявления метода СравнитьСтроки()
(Строка1: Строка, Строка2: Строка) ->
Строка1.Длина() < Строка2.Длина()
)
метод СравнитьСтроки(
Первая: Строка,
Вторая: Строка,
Сравнить: (Строка, Строка) -> Булево
): Булево
возврат Сравнить(Первая, Вторая)
; - 
из типа переменной.
пер МетодДлина: ((Строка)->Число)?
// ...
МетодДлина = (Текст) -> Текст.Длина()пер МетодДлина: ((Строка)->Число)?
// ...
// Тип параметра известен из типа переменной МетодДлина
МетодДлина = (Текст: Стр ока) -> Текст.Длина() 
 - 
 - 
В имени функционального типа:
- 
не обрамляйте пробелами лямбда-операцию
->;(Число)->Число(Число) -> Число - 
ставьте пробелы после запятых в списке типов параметров.
(Число, Число)->Число(Число,Число)->Число 
 - 
 - 
В лямбда-выражении обрамляйте пробелами лямбда-операцию
->.x -> x + 1x->x + 1