Вообще изменения существующего API в серьёзных проектах не приветствуются. Но если они жизненно необходимы, то это делается так:
- устаревший метод/класс помечается атрибутом Obsolete ([System.Obsolete("use class B")]). При билде в Visual Studio это будет видно в warnings.
- содержимое устаревшего метода заменяется рабочей обёрткой над новым функционалом
- при выпуске мажорной версии (например 1.7 -> 2.0) устаревший код окончательно выбрасывается с указанием в описании релиза. Вот как-то так.
Comentários (23)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Спасибо, добавил в избранное. Как наймем штат программистов эдак из 5-6 человек, обязательно будем пользоваться этими рекомендациями. Надеюсь, пока не сильно доставляет неудобства, что переделки идут без поддержания обратной совместимости?
Из документации как-то не очень видно, что в какой версии как использовать
Я, например, ищу примеры в открытых кодах той же версии. Но это мало помогает, если нужные методы или классы там не применяются или же произошли изменения названий на новые, которые неизвестны и непонятно, как и откуда узнавать
Вам уже объяснили. Расшифровываю: странно требовать от поделки соответствия профессиональным стандартам. Исследуйте. Делитесь находками на форумах. Как все.
У вас вопрос был касательно ночных сборок. С ними даже в планах нет написания изменений. У ГВ я так понимаю проблема с переходом от версии к версии. Это все в топиках вида S# 4.1 бета.
И все эти проблемы воспроизводят сами себя и снижают популярность продукта. Прошу не рассматривать это как, какую-либо претензию. Просто мысли вслух.
А у нас не так разве?
Я тоже тратил время при переходе от версии к версии, и далеко не на каждый дот-дот перехожу, но
библиотека бесплатна, требовать от разработчиков софтверных стандартов IBM странно было бы.
Но вот если бы разработчики при коммитах изменения API просто на форуме их озвучивали было бы здорово. Например на странице с новостями про beta-версию просто создали бы и редактировали соответсвующий топик, на данный момент 4.1.7.
Все равно при выкладывании версии эта информация собирается и публикуется, а так будет сама аггрегироваться разными коммитерами в один топик по мере поступления. Early announcement, так сказать...
Здесь без переводчика с русского на русский не обойтись. Я не понимаю что тут написано.
Почему? Получилось очень даже продуктивно. Сразу стало больше времени на разработку, чего не было, когда приходилось поддерживать старый код.
А это плохо?😎
Тестирование на истории или тестирование ПО?
Хорошая идея, спасибо.
Через какое-то время начнут пользоваться ей, и мы поправим ошибки. В чем проблема то? Мы ж тут, практически 24x7 доступны из-за распределенности по земному шару😂
Пользователь != клиенту. Пользователи АПИ - это ко мне и еще нескольким товарищам. Клиенты (платные сервисы, в т.ч. и тех поддержка) - это к другим людям. Не все это знают, не все это понимают, но факт остается фактом. Поэтому у меня лично клиентов нет, но есть пользователи. Которых, конечно же, для меня одного слишком много. Радоваться тут особо не чему.
Собственными силами + через бета юзеров. К сожалению, бета дистрибутивы скачиваются не только бета юзерами, но всеми подряд (нет у нас закрытого раздела, и делать его так же нет ресурсов). И начинаются песнопения на форуме по поводу почему все перестало работать и как пользоваться новой версией. Скачал бета версию - следуй бета правилам. Вот и все дела.
На Codeplex кстати есть неплохой трекер, завязанный на TFS. Причём разработчики этот трекер заполнять и отслеживать могут прямо в VS. Но почему-то сейчас разработка идёт как-то мимо него. И там кстати можно связывать описания ошибок, исправления, версии и чекины, но этого вообще никто не делал. Причём, по опыту, TFS - на самом деле, очень удобная система управления проектом, а не только версионное хранилище. Там можно в пару кликов делать хорошие отчёты со списками исправлений, velocity chart и т.п.
Потому что у нас есть свой трекер, тоже на TFS, но в закрытом разделе.
Делается регулярно.
Именно поэтому и пользуемся.
Юзер не знает (не захочет узнавать) есть ли уже подобная ошибка в системе. Нужна модерация такого трекера, иначе будет неудобно разработчикам. Сплошь минусы. Поэтому у нас лучше решение - форум.
Это и есть модерация. Потому что ошибку нужно прочитать, найти (кстати, поисковик у трекеров всегда ущербнее форумного, как и редактор, так что еще минусы), и выбросить ее (иначе свалка проигнорированных сообщений будет расти и расти, затрудняя поиск и анализ).
Опять сплошные минусы? Вы попробуйте сами какой-нибудь проект создать и повести. Сразу поймете минусы и плюсы подходов. А так вы рассуждаете пока абстрактно. Берете первый попавшийся продукт (Решарпер), и сравниваете с нашим. А у них совсем другой бизнес, и процессу по другому построены. Нельзя колесо от Белаза к Жугули прикручивать, хоть оно надежнее и прочнее. Просто потому что разные машинки и для разного предназначены.
Можно изредка пробегать по форуму?
Вообще я конечно понимаю разработчиков. Дел дофига, рук всего две а голова вообще одна, но все же. Постоянные, я бы сказал, серьезные изменения в API приводят к тому что постоянно надо переписывать все что уже написано. Это нервы, отлов багов итд. Приходится думать о собственном штате программистов :). Это просто раздражает. Если написано уже много, то сильно раздражает и первое что приходит в голову - юзать API по минимуму, только как базовую обвязку к трейдеру.
Передаю, так сказать, общественное мнение а не свое личное. Сам сижу на старом ибо переписывать влом. Баги все выловил мне достаточно.