Сообщения компилятора F #
Что ж, 2020 год, пришло время для моего ежегодного (F #) сообщения в блоге.
Я написал свой первый пост на FsAdvent в 2018 году.
А потом я написал еще один пост в 2019 году.
Итак, что же произошло в моем мире F # с тех пор? Во-первых, я присоединился к потрясающей компании Quicken Loans, чтобы заниматься F # на постоянной основе. Это было потрясающе! Я также снова подписался на последний раунд Программы наставничества F # Software Foundation - на этот раз как наставник и подопечный. Думаю, в следующий раз сделаю то или другое!
В этом году я хотел бы поделиться небольшим вкладом, который я внес в документацию по F #, и пригласить вас принять участие.
Предыстория
Недавно я просматривал код в процессе работы и заметил, что один из наших файлов проекта F # игнорировал несколько предупреждений, но я не знал, что это были за ошибки. Выглядело это примерно так:
А теперь представьте, что у нас есть такой файл кода:
Компилятор F # обычно выдает предупреждение при обнаружении неполного шаблона (охвачены не все случаи). Однако из-за узла <NoWarn>0025</NoWarn>
в файле проекта вывод сборки не включает предупреждение:
Build succeeded. 0 Warning(s) 0 Error(s)
Без узла <NoWarn>
результат сборки будет:
/somepath/FsAdvent2020.fs(8,11): warning FS0025: Incomplete pattern matches on this expression. For example, the value 'Hot' may indicate a case not covered by the pattern(s). [/somepath/FsAdvent2020.fsproj] 1 Warning(s) 0 Error(s)
Теперь, как разработчик F # узнает, что такое FS0025
? Что ж, им повезло ... вроде как. Если они посетят страницу Сообщения компилятора F #, они увидят список сообщений компилятора. Однако это еще не все. На момент написания оглавление выглядело так:
Как я внес свой вклад
Я не знал о упомянутой выше странице сообщений компилятора F #. Я поискал в Интернете несколько ошибок, связанных с F #, и наткнулся на проблему GitHub от декабря 2019 года: Страницы документации для ошибок компилятора F #, таких как C #. Идеально! Chet Husk проделал всю тяжелую работу в январе 2020 года. Затем, с небольшой поддержкой и руководством, я внес некоторые улучшения во вспомогательный скрипт и добавил сообщение 0025
о неполном сопоставлении с образцом:
Как вы можете внести свой вклад
- Используйте https://github.com/dotnet/docs/pull/21424 в качестве руководства.
- См. Https://github.com/dotnet/docs/issues/16177#issuecomment-724426546, чтобы узнать, где найти номера ошибок.
Удачи и благодарю вас за то, что каждый год вы вносите свой вклад в улучшение F #!
Этот пост является частью #FsAdvent 2020, организованной Сергеем Тихоном.
Список всех сообщений см. в Адвент-календаре F # на английском языке на 2020 год.
Спасибо, Сергей!