Динамические языки мокрые по своей сути
В C# в большом проекте (состоящем из десятка solution-ов, разрабатывающиеся различными командами) удаление фичи из библиотеки тоже не автоматически происходит. Я уж не говорю про C++, где автоматический рефакторинг еще много хуже представлен.
это больше ограничение инструментов, чем языков.для всех известных динамических языках такой инструмент построить нельзя. Поэтому это ограничение относится ко всем известным динамическим языкам.
Поскольку найти Place1, Place2, … PlaceN нельзяСмелое утверждение, grep запретили что-ли?
статический анализ для динамических языков вполне строится. Муторно и долго, но строится.
Смелое утверждение, grep запретили что-ли?В случае сухого решения на вход подается место расположения метода DoFeature1Place, на выходе получаем Place1, Place2, … PlaceN. Как ты подашь DoFeature1Place на вход grep-у, и что он с ним будет делать? Скорее всего, ты хочешь еще что-то подавать на вход, а это уже не сухо.
совершенно безосновательное утверждение."Муторно и долго" это ни о чем. Нужны оценки сложности. Боюсь там экспоненциальная сложность.
статический анализ для динамических языков вполне строится. Муторно и долго, но строится.
Я имел в виду решение без автоматизации, "сделать руками", а не так как я привык в IDEA или ты привык в ReSharper. Это только звучит ужасно, а коллеги-джаваскриптеры только так и работают, и прекрасно себя чувствуют.
Это только звучит ужасно, а коллеги-джаваскриптеры только так и работают, и прекрасно себя чувствуют.Ну мы же сейчас не о том, как себя чувствуют исполнители.
Ты написал "нельзя найти". Я говорю что руками и grep-ом найти можно.
Ты написал "нельзя найти". Я говорю что руками и grep-ом найти можно.Контекст был — соблюдение сухого принципа. С соблюдением сухого принципа найти нельзя.
Смелое утверждение, grep запретили что-ли?Ребята из Facebook и Microfoft видимо не умеют пользоваться grep-ом
00:03:28 http://www.infoq.com/presentations/Facebook-Software-Stack
00:00:35 http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-...
Смелое утверждение, grep запретили что-ли?
Correct intellisense suggestions. I’d estimate that PyCharm provides a correct suggestion only in 30% of cases.
Correct refactorings. Nearly any refactoring in PyCharm requires manual fixes. I’d say PyCharm dependency detection gives some false positives in 30% cases, and false negatives in 10% of cases, so you always need to supervise this. And that’s really annoying in case of really large refactorings (100+ usages). Most of Python developers use grep for this, and that’s way more complex. I’d say, that’s probably the biggest disadvantage: you can easily spend 10+ minutes (in some cases - an hour or so) on actions that take 1 minute in ReSharper.
http://www.quora.com/Python-programming-language-1/How-does-...
Оставить комментарий
6yrop
Вот принцип DRY из вики:Пусть имеется исходный код SourceCode0. Пришла задача реализовать фичу Feature1. Делаем метод DoFeature1 и вызываем его в нескольких местах Place1, Place2, … PlaceN. Получаем исходный код SourceCode1.
Теперь пришла задача убрать фичу Feature1. Логично, что код должен усохнуть до SourceCode0. Поскольку найти Place1, Place2, … PlaceN нельзя, то код SourceCode1 является мокрым.