Культура программирования
Культура программирования
Всем привет.
Пишу этот пост, потому что наболело.
Ребята, те кто занимается разработкой FAR. Я понимаю что вы это делаете бесплатно, в личное свободное время. Но нельзя так писать код. Одно добавляете, другое вылазит и так постоянно. Один баг фиксите - два появляется.
Займитесь наконец-то обучением. Переведите количество в качество. Научитесь писать автоматизированные тесты. Это ведь проект не на одну неделю.
Пишу этот пост, потому что наболело.
Ребята, те кто занимается разработкой FAR. Я понимаю что вы это делаете бесплатно, в личное свободное время. Но нельзя так писать код. Одно добавляете, другое вылазит и так постоянно. Один баг фиксите - два появляется.
Займитесь наконец-то обучением. Переведите количество в качество. Научитесь писать автоматизированные тесты. Это ведь проект не на одну неделю.
- HaRT
- Moderator
- Posts: 10866
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Культура программирования
ujos
Конструктивная позиция звучала бы “как сынтегрировать в сборку написанные мною автоматизированные тесты?”.
Конструктивная позиция звучала бы “как сынтегрировать в сборку написанные мною автоматизированные тесты?”.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Культура программирования
А вы не пробовали найти финансирование? Есть много путей. Только тогда это не будет OpenSource...
---------
Могу помочь...
---------
Могу помочь...
Docent1
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: Культура программирования
Нас не интересует финансирование, разработка введётся в кайф. Хватит лечить нас.
Re: Культура программирования
Уже думал о том, чтобы паралельно писать тесты. Получится мартышкин труд:HaRT wrote:ujos
Конструктивная позиция звучала бы “как сынтегрировать в сборку написанные мною автоматизированные тесты?”.
1. Я не успею за новым функционалом. При таком подходе, тесты потеряют свою актуальность.
2. Но самое главное, для написания юнит тестов часто приходится делать рефакторинг кода. Наприрмер, отделать гуй то бизнес модели, убирать работу с socket подсистемой, уменьшать зависимости кода. А это серьёзные переделки, которые надо делать всем вместе.
Re: Культура программирования
Уважаю ваше стремение делать доброе дело безвозмездно, но честно, лучше не надо. Лучше никак, чем так. Возмитесь за написание бесползеной софтины, которую никто не пользует и делайте с ней что вам угодно. В случае с FAR, тут нужно чувствовать огромную ответственность за то, что ты делаешь.t-rex wrote:Нас не интересует финансирование, разработка введётся в кайф. Хватит лечить нас.
- t-rex
- Страшный и ужасный
- Posts: 4910
- Joined: Tue 15 Mar, 2005 16:17
- Location: Tel-Aviv
- Has thanked: 1 time
- Been thanked: 8 times
- Contact:
Re: Культура программирования
ujos
Ты долбоёб? Фар 1.8 офф. нестабильная версия в которой всё меняется из за дня на день и вообще ни кто не гарантирует что что то будет работать а у тебя претензии нах.
Умеешь лучше, иди пиши а то пиздеть мы все умеем.
Ты долбоёб? Фар 1.8 офф. нестабильная версия в которой всё меняется из за дня на день и вообще ни кто не гарантирует что что то будет работать а у тебя претензии нах.
Умеешь лучше, иди пиши а то пиздеть мы все умеем.
Re: Культура программирования
Та не надо так огорчаться. Я не хотел тебя ничем обидеть. Я прекрасно понимаю, что в release отдавать 1.8 еще рано. Но это не означает, что regression и базовые функциональные тесты не нужно писать.t-rex wrote:ujos
Ты долбоёб? Фар 1.8 офф. нестабильная версия в которой всё меняется из за дня на день и вообще ни кто не гарантирует что что то будет работать а у тебя претензии нах.
Умеешь лучше, иди пиши а то пиздеть мы все умеем.
Я могу помочь в разработке, если идея с автоматическим тестирвоанием будет одобрена всеми учасниками проекта.
Да, и перестать ругаться. Мне не приятно.
- WARP ItSelf
- Самый умный
- Posts: 1011
- Joined: Tue 15 Mar, 2005 23:19
- Contact:
Re: Культура программирования
ujos
Большое спасибо, что обратились. С удовольствием послушал ваше мнение. Нам безусловно (случайно выражаю общее мнение), очень обидно, что мы такие тупые. Даже несмотря на то, что за последние лет 5 ситуация с разработкой Far радикально поменялась (чего вы, безусловно, не заметили). Мы с большим удовольствием прослушаем ваше мнение, о принципах разработки, unit-тестах и других штуках, о которых мы не знаем. Лично я с нетерпением жду лекции про паттерны проектирования (zg вот в курсе). Специально для того, чтобы продвинутые люди не мешали нам заниматься чепухой мы открыли исходный код Far 1.8 под максимально прозрачной лицензией. Мы будем несказанно рады, когда вы и команда таких же профессионалов своего дела возьмет его и буквально за месяц-два создаст новый простой и безопасный продукт (бесплатно, на голом энтузиазме). Однако до сих пор пока всех ваших способностей хватило только на то, чтобы учить нас как нам жить дальше и как строить сферических коней в вакууме. Я лично, буду очень рад, если вы действительно не поленитесь и напишете те самые unit-тесты несмотря на детские отмазы про "я не успеваю за вашими изменениями". В противном случае - читайте комментарии Алекса. Потому что вы ничего не знаете ни о том "как мы дошли до жизни такой", ни о том, чему еще нам надо учиться, ни о личных обстоятельствах, помогающих и мешающих нам в разработке. Однако имеете об этом свое "мнение". Несмотря на которое, мы, в отличии от вас, что-то делаем. И, что удивительно, собираемся продолжать. Можете лучше - сделайте лучше.
Большое спасибо, что обратились. С удовольствием послушал ваше мнение. Нам безусловно (случайно выражаю общее мнение), очень обидно, что мы такие тупые. Даже несмотря на то, что за последние лет 5 ситуация с разработкой Far радикально поменялась (чего вы, безусловно, не заметили). Мы с большим удовольствием прослушаем ваше мнение, о принципах разработки, unit-тестах и других штуках, о которых мы не знаем. Лично я с нетерпением жду лекции про паттерны проектирования (zg вот в курсе). Специально для того, чтобы продвинутые люди не мешали нам заниматься чепухой мы открыли исходный код Far 1.8 под максимально прозрачной лицензией. Мы будем несказанно рады, когда вы и команда таких же профессионалов своего дела возьмет его и буквально за месяц-два создаст новый простой и безопасный продукт (бесплатно, на голом энтузиазме). Однако до сих пор пока всех ваших способностей хватило только на то, чтобы учить нас как нам жить дальше и как строить сферических коней в вакууме. Я лично, буду очень рад, если вы действительно не поленитесь и напишете те самые unit-тесты несмотря на детские отмазы про "я не успеваю за вашими изменениями". В противном случае - читайте комментарии Алекса. Потому что вы ничего не знаете ни о том "как мы дошли до жизни такой", ни о том, чему еще нам надо учиться, ни о личных обстоятельствах, помогающих и мешающих нам в разработке. Однако имеете об этом свое "мнение". Несмотря на которое, мы, в отличии от вас, что-то делаем. И, что удивительно, собираемся продолжать. Можете лучше - сделайте лучше.
Никто не знал, а я...
Re: Культура программирования
К чему этот сарказм?WARP ItSelf wrote:ujos
Большое спасибо, что обратились. С удовольствием послушал ваше мнение. Нам безусловно (случайно выражаю общее мнение), очень обидно, что мы такие тупые. Даже несмотря на то, что за последние лет 5 ситуация с разработкой Far радикально поменялась (чего вы, безусловно, не заметили). Мы с большим удовольствием прослушаем ваше мнение, о принципах разработки, unit-тестах и других штуках, о которых мы не знаем. Лично я с нетерпением жду лекции про паттерны проектирования (zg вот в курсе). Специально для того, чтобы продвинутые люди не мешали нам заниматься чепухой мы открыли исходный код Far 1.8 под максимально прозрачной лицензией.
Мы будем несказанно рады, когда вы и команда таких же профессионалов своего дела возьмет его и буквально за месяц-два создаст новый простой и безопасный продукт (бесплатно, на голом энтузиазме). Однако до сих пор пока всех ваших способностей хватило только на то, чтобы учить нас как нам жить дальше и как строить сферических коней в вакууме.
Я не сказал ничего сверхестественного. Написание unit тестов - это не сферические кони в вакуме. Это практика, которая уже работает. Это инвестиции во время, которые окупаются сторицей.
К сожалению, не знаю вас лично, чтобы тратить время на поднятие вам настроения. И не могу знать "как вы дошли до жизни такой", потому что это ваше личное дело. Я знаю только то, что вы делаете очень полезную работу и только по этому рад оказать посильную помощь. Смотри атач.Я лично, буду очень рад, если вы действительно не поленитесь и напишете те самые unit-тесты несмотря на детские отмазы про "я не успеваю за вашими изменениями". В противном случае - читайте комментарии Алекса. Потому что вы ничего не знаете ни о том "как мы дошли до жизни такой", ни о том, чему еще нам надо учиться, ни о личных обстоятельствах, помогающих и мешающих нам в разработке. Однако имеете об этом свое "мнение". Несмотря на которое, мы, в отличии от вас, что-то делаем. И, что удивительно, собираемся продолжать. Можете лучше - сделайте лучше.
Для начала я решил написать тест на самый простой класс UnicodeString. Я сделал небольшой рефакторинг, чтоб собрать и слинковать проект
1. выделил методы работы с памятью в farmem.cpp
2. перенес __digit_cnt_0 в local.cpp
3. Многие хидер файлы не компилятся. Не хватает дополнительных инклудов.
4. добавил UnicodeString::GetData() const. GetBuffer - меняет состояние объекта а кастить к wchar_t const* не всегда удобно.
Комментарии:
1. Мне кажется вызов метода Inflate для создания отдельной копии объекта не очевидный.
2. Если класс используется в паралельных потоках, то инкрементирование счетчика нужно выполнять с помощью Interlocked функций. Я заводил вроде на это баг в мантисе.
3. Я сделал тесты на реакцию на недопустимые параметры. Сейчас это валит приложение. Нужно или добавить проверки в UnicodeString и возвращать false (Pos, RPos) или добавить assert'ы.
Дальше, наверное, нужно делать серьёзный рефакторинг, чтобы выделить гуй и платформозависмый код и оттестирвоать логику. Сам я не готов на такие подвиги.
ЗЫ. По паттернам есть куча литературы.
- Attachments
-
- unicode_far.7z
- Проект юнит тестов. Бросить в ту же папку, что и файл проекта фара.
- (28.46 KiB) Downloaded 229 times
Re: Культура программирования
А вы только для себя пишете?zg wrote:я вот не понимаю, кто-то кого-то заставляет пользоваться фаром?
- zg
- zero-gravity
- Posts: 6035
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Культура программирования
для вас это новость? даже рошал писал для себя.ujos wrote:А вы только для себя пишете?