Ответы пользователя по тегу Программирование
  • Разработка канбан-доски (pet-проект) для опыта. Технологии, фреймворки?

    tim_leon, Вам понадобится два технологических стека:
    • Стек для фронтенда стройте в зависимости от своих навыков и области применения. Планируете только веб сайт или мобильное приложение? Для веб сайта порекомендовал бы что то из современных фреймворков (Angular, React, Vue) и делать SPA. Для мобильных приложении выбор между нативной разработкой(Java, Kotlin, Swift, Objective C) и кросплатформенной (NativeScript, ReactNative, ...).
    • Для бекенда ограничении практический нет. Выбирайте, то что Вам больше знакомо или не знакомо(желание приобрести навык). Бекенд для Kanban доски довольно тривиальная задача


    Выбор Вами Electron-а предполагает разработку Desktop приложении, и это когда они не в тренде. Выбор между Javascript, Java, Kotline и C++ пугает своей неопределенностью. Уточните, в каких языках у Вас есть опыт, и можно будет выбрать.

    Какие есть способы хранения элементов этой доски

    Рекомендую сначала определиться с сущностями, которые будут присутствовать в Вашем проекте. К примеру: пользователи, проекты, доски, карточки и т.д. Далее определить их свойства (атрибуты): проект > наименование, дата создания, автор, ... Текстовые данные хранить в БД, медиа файлы можно файлами в ФС. Таким образом появится задачи для выполнения, которую необходимо сделать.

    Для образования и совмещения в голове Kanban и разработку ПО, советую книгу "Пользовательские истории. Искусство гибкой разработки ПО".

    P.S. Сам пользуюсь ZenKit, но если бы задался целью разработать свою программу для Kanban-а, то выбрал бы Vue+SPA для клиента и Python или Golang + MongoDB для сервера. Выбор исключительно из того, что обладаю опытом в выбранном стеке. Для мобильного Nativescript+Vue.
    Ответ написан
    Комментировать
  • Как назвать простейший класс?

    Автору посоветовал бы использовать паттерн декоратор (decorator) и назвать его к примеру Timer для класса или timer (timeit, ...) для функции(если в Вашем языке функция это first class citizen) как предлагал Валерий Глуховцев.

    Обоснование:
    Причина по которой Вы хотели бы использовать подобный класс это профилирование. И мне лично, не хотелось бы отделять объект измерения от самого измерения. Введение декоратора для измерения позволит обеспечить хорошую сцепленность. Самостоятельные классы следует создавать для необходимых сущностей, а не плодить их, так пропагандируют современные эксперты. И это еще опуская тот факт, что настоящий ООП сейчас в опале. Помимо декоратора, в зависимости от языка, я могу придумать так же использование метаклассов, но декоратор удобнее.

    Почему я считаю, что измерение времени не достойно полноценного существования как отдельного класса?
    • Класс предполагает порождение экземпляров. Которые в свою очередь будут вызываться в методах, когда мы хотим что то измерить? Это уже сильная связанность, которую следует избегать. А так же, в какой то мере увеличит code complexity score
    • Вы написали:
      В коде есть объект, единственное свойство которого это длительность его существования

      Сами слова говорят, что цель такого объекта слишком мало для отдельной сущности. Это, наверное, "Одержимость элементарными типами" в концепции Код с запашком

    Ответ написан
    Комментировать