Closed ghost closed 7 years ago
Я поглядел - увидел, что мой файл разбит на 20 мелких. И у меня возникло пару вопросов:
1 + 2. Новый функционал добавлен не для пользователей, а для разработчиков. Я посмотрел на код - debug с помощью p
....; так же присутствует переписка кода уже давным-давно существующего, покрытого тестами сверху до низу с большим комьюнити и так далее. Все это пережитки прошлого.
Например:
Ruby - это язык с парадигмами DRY, Convention over configuration. Это попытка сделать код читабельным для всех Ruby-программистов, которые уже за многие годы привыкли, что код должен выглядеть примерно вот так. По моим соображениям это повысит шансы, что у проекта расширится комьюнити, а следовательно в дальнейшем уже быстрее будет наращиваться новый функционал. Т.е. я предлагаю использовать инструменты, которые всем давно знакомы, нежели изобретение велосипедов.
Так же хочу ввести использование RSpec, чтобы получить полную спецификацию и комплекс автоматизированных тестов, чтобы новые программисты могли добавлять код и не бояться каждый раз что-либо испортить. Чтобы можно было работать с TDD, т.е. Спецификация фичи (тест) => Код => Результат.
i18n
я тоже начинал с него, но мне не понравилось, что файлы-переводы нужно компилировать. получается: пандору не надо компилировать, а переводы - надо, мне это не понравилось. и потом были проблемы под ос виндовс. поэтому я реализовал простой механизм через текстовые файлы в папке /lang
ORM
вот это интересная тема. пытался даже разобраться, мне по описанию больше понравилась DataMapper чем ActiveRecord. но времени разбираться с ORM так и не было. к тому же я понял, что основная проблема не с доступом к данным, а с их отображением в таблицах Gtk - в этом направлении нет никаких готовых решений, поэтому всё придётся писать самому в любом случае (то что реализовано сейчас, нужно сильно дорабатывать).
парадигмами DRY, Convention over configuration логгеры, конфигураторы приложения... ActiveSupport... RSpec попытка сделать код читабельным для всех Ruby-программистов в дальнейшем уже быстрее будет наращиваться новый функционал
признаюсь, я сильно не знаком с привычками ruby-программистов, но меня все эти "привычки руби-программистов" больше настораживают, чем дают надежду на "расширение комьюнити". наоборот, привязавшись к "модным" руби-привычкам, мы отстраним от проекта других программистов, которые бы могли влиться в проект с минимальным усилием.
Новый функционал добавлен не для пользователей, а для разработчиков
Т.е. для пользователей ничего не добавлено, а для программистов (по кр. мере для меня, как пока самого активного разработчика) добавленный "новый функционал" ничего не даёт кроме головной боли.
Вобщем я понаблюдаю за вашим форком, и сейчас даже в группе вк запилю новость со ссылкой ваш форк (чтобы те, кто требовал от меня разделения кода, были удовлетворены). Если в вашей ветке появятся разработчики, которые начнут добавлять ФУНКЦИОНАЛ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ (вы, как я понимаю, этим заниматься не собираетесь), то у меня, как у прикладного программиста (думающего в 1ю очередь о пользователях), появится причина для принятия предлагаемой структуры.
Николай, а вы в своём репозитории удалили все свои изменения, что ли? Мне сейчас ссылку некуда давать?
Михаил, все на месте. Здесь... может ветку забыли выбрать?
i18n файлы-переводы нужно компилировать.
Я что-то упустил? вот файл, работает без всякой компиляции, как в популярных RubyOnRails (web-фреймворк), так и в моём форке. Может я не так понял просто, что вы имеете ввиду?
ORM
Согласен, можно любой использовать, главное определиться какой именно и почему. Мне знаком только ActiveRecord, т.к. это основа работы с данными в Rails
добавленный "новый функционал" ничего не даёт кроме головной боли
Она пройдет в скором времени, не переживайте, это дело лишь привычки и понимания некоторых соглашений Ruby. Если мы сможем найти общий язык, то я готов сделать всю работу по "перестройке" и все задокументировать.
ФУНКЦИОНАЛ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ
Я с вами полностью согласен в этом вопросе. Мне нужен список вещей, которые работали и до моего вмешательства, чтобы я смог удостовериться в том, что я ничего не сломал. Как опытный неПрикладной программист я вам скажу так. Мне встречались крупные и успешные (в бизнесе) проекты, которые не упрощали код годами, а лишь добавляли функционал. Все это дело, как правило, в конечном итоге отдавали на аутсорсинг для переписывания с нуля, потому что со временем каждая добавленная функция ломала 5 старых. Тестирование превращалось в нервные расстройства и, как правило, в уход программистов из проекта.
И еще у меня вопрос такой - каким редактором вы пользуетесь? В доках вы рекомендуете Geany, насколько я помню... Пробовали Sublime Text 3? Очень умный редактор, делает половину работы за нас - демонстрашка. Вполне возможно, что он поспособствует снятию головных болей.
О вашем форке добавил в группу новость: http://vk.com/wall-56092988_745
Пользуюсь самосборным Geany с улучшенной раскраской Ruby: https://github.com/Novator/geany
О Sublime Text слышал, но не смог установить и насладиться его прелестями (в репозитории убунты его нет, например).
И вряд ли появится, так как условно-платный:
Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.
deb x64 / обычный deb. Я попробовал все редакторы, которые только смог найти, включая олд-скульный vim
. Этот вне конкуренции, особенно по количеству доступных расширений (есть дефолтное - vintage mode
, включает большинство команд vim
, что значительно упрощает жизнь).
Мечтается встроить редактор кода в саму Пандору (Мир-Файлы), но пока руки не дошли.
Боюсь даже представить - для чего?
Чтобы Пандора стала юзабельной фичей, а не протоколом. Домохозяйки возрадуются такой возможности (без шуток) и будут ставить себе Пандору.
Жесть
@18augst, вы провели титаническую работу. Я человек со стороны, попал сюда по ссылке, с пандорой не знаком. Но то, что вы продвигаете культуру написания качественного кода - достойно уважения.
@18augst, я тоже пришёл сюда не ведая ничего о Пандоре. Окинул взором кодовую базу и охнул. Удачи вам на этом пути!
@Novator, вам бы реально всё перепилить, потому что так не делается. И удачи вам в реализации своих идей!
@moldabekov, а как "делается"? И так анонимный профиль на гитхабе, ещё раз переименовывает в другой анонимный, а потом удаляет все свои наработки - так что ли "делается"?!
Так делают только маленькие обиженные мальчики. Мне таких "программистов" в пример не нужно. Если деятельность таких анонимусов не приняло сообщество, значит, их деятельность была бесполезна для него. Я, как один из членов сообщества пользователей СПО, это подтверждаю.
Может сейчас бы кто-то другой посмотрел его наработки и применил в своем форке - но не сможет, мальчик обиделся на сообщество и всё поудалял.
Как вам такой вид приложения? Доки, к сожалению пока нет.