Какие риски связаны с работой в магазине C#, и я пытаюсь написать функцию в F #, а затем полагаться на ILSpy, чтобы перевести исходный код F # в представление C#?Какие риски существуют, если я работаю в магазине C# и пытаюсь написать F # только для того, чтобы полагаться на ILSpy для преобразования?
ответ
Я бы очень рекомендовал против этого.
- Код F #, который был декомпилирован в C#, имеет тенденцию быть чрезвычайно подробным и нечитаемым. Это будет почти невозможно для тех, у кого нет копии исходного кода F # для понимания или поддержки.
- Функциональный код дает вам возможность повторного использования кода, которого у вас не было бы на языке OO. Код C#, созданный путем декомпиляции, вероятно, не предложит (m) любые способы повторного использования за пределами вашего декомпилированного F #.
- Что такое идиоматика в F #, иногда не в C#, это особенно верно после промежуточной стадии декомпиляции. Код, скорее всего, не пройдет процесс обзора.
- Единицы измерения и
inline
Функции с ограничениями статического типа - это обе функции компилятора F #, а не что-то, предоставленное .NET. Вы можете получить от них, используя декомпилированный C# напрямую, но любые изменения, внесенные в источник C#, не будут проверяться, например. мерной правильности.
Я хотел бы также второе предложение Томаса в том, прочитанный в этой статье: http://fsharpforfunandprofit.com/posts/low-risk-ways-to-use-fsharp-at-work/
Я хотел бы предложить, однако, что это может быть стоит иметь разговор с вашей командой/менеджер (ы) по поводу возможность введения F # на вашем рабочем месте.
Мой личный опыт использования F # на коммерческой основе заключается в том, что время разработки часто имеет тенденцию быть короче (иногда существенно) по сравнению с тем же проектом, что и на C#, и обычно легче проверить и проверить результат. Это преимущества, которые очень привлекательны в коммерческих целях.
Спасибо InnerLight. Должен ли я сначала написать поддержку автоматизации тестирования на этом языке, прежде чем запрашивать разрешение на внедрение с ним бизнес-решений? –
@ScottNimrod Мне сложно дать вам советы о том, как вы должны действовать, когда дело касается вашей компании, в конечном итоге вы знаете свою команду лучше, чем я. Тем не менее, все, что вы можете сделать, чтобы продемонстрировать бизнес-ценность использования F #, поможет вам в этом. Если вы думаете, что это будет трудная продажа, я бы держался, пока не будет ситуации, когда вы знаете, что FP/F # действительно превзойдет. В некоторых случаях это действительно очевидно, что это лучший выбор для выражения конкретной проблемы, в других случаях это может быть менее очевидным для тех, у кого практически нет опыта F #. – TheInnerLight
- 1. Какие риски существуют при использовании сценариев для задач администратора?
- 2. Я пытаюсь выбрать элемент Я работаю с:
- 3. Создать действие в F # для того, чтобы использовать C# метод
- 4. Какие существуют инструменты для преобразования приложения Delphi 7 в C# и .NET Framework?
- 5. Какие риски существуют при использовании извлеченных суперглобальных PHP-файлов?
- 6. Публичный репозиторий для установки Drupal: Какие риски для безопасности?
- 7. F # строка для преобразования перечислений
- 8. Я пытаюсь написать Unit Test в C# для статических методов
- 9. Какие варианты рефакторинга C# существуют для Visual Studio (и C#)?
- 10. Какие подписи существуют для подписки APK Android?
- 11. Могу ли я смело полагаться на OCaml встроенный для того, чтобы перечислений
- 12. Какие хорошие библиотеки существуют для извлечения объекта?
- 13. Я пытаюсь написать первую программу # в C++
- 14. Какие существуют рамки для тестирования мутаций для C/C++?
- 15. Какие программы существуют для генерации парсера?
- 16. C# компилятор ILSpy на WP7
- 17. Какие существуют методы в объекте-c/cocoa для iOS?
- 18. Я пытаюсь написать запрос jpa для подзапросов
- 19. Какие существуют опции для XML на iPhone?
- 20. кода Ассамблеи для преобразования гекса в десятичный не работаю
- 21. Какие шаблоны для двигателя существуют для PHP?
- 22. Какие существуют опции для CHKDSK на cmd?
- 23. Существуют ли какие-либо серверные фреймворки только для сервера?
- 24. Какие наиболее распространенные расширения существуют (или используются) для ANSI C?
- 25. Какие альтернативы существуют для этих операторов switch?
- 26. Какие существуют варианты для организации пользовательских ImageViews
- 27. Существуют ли функции C для преобразования sockaddr_in в структуру sockaddr_in6?
- 28. Как написать расширения для Dreamweaver cs4? Какие ограничения существуют в том, какие расширения могут делать?
- 29. Какие существуют варианты для GWT-общения на С ++?
- 30. Какие опции существуют для Python TUI Backend?
У вас наверняка будет нечитаемый и недостижимый код C# – Petr
В этом сообщении в блоге есть много хороших идей относительно способов с низким уровнем риска, начиная с F # на работе: http://fsharpforfunandprofit.com/series/low-risk-ways-to -use-fsharp-at-work.html Использование ILSpy для преобразования F # в C#, определенно, не является одним из них. –