MatveySuvorov
18 subscribers
35 photos
1 video
4 files
9 links
Программирование, компы, в общем все, что нам нравится
Download Telegram
Лучший способ придумать идею для проекта

Лучший способ чему-либо научиться - это практиковаться в каком-либо деле. Самые ценные навыки появляются в результате практики. Чтобы научиться программировать, нужно создавать различные проекты.

Но как придумать идею для проекта?

Конечно можно особо не заморачиваться над идеей и делать копии уже существующих приложений. Второй Ютуб, еще один ВК, копия Яндекс Музыки. Очередной калькулятор. Проекты наподобие известных сервисов вполне можно разрабатывать, таким образом ты сможешь получить хорошие навыки. Я так, например, разработал простенькую социальную сеть. Но это не интересно.

Гораздо лучше придумать оригинальную идею для своего сайта, приложения или программы. Да, это сложнее, но зато твой проект будет ценнее, так как не будет существовать уже существующего такого же продукта. Лучший способ придумать идею - это найти боль (проблему), которую испытывают люди в своей повседневной жизни, чтобы ее исправить, создав соответствующее решение (приложение).

Пример:
Боль: неудобство поиска интересных мероприятий и простых тусовок. Существует множество различных вк пабликов и телеграм каналов по активностям в городах, причем у каждого города они свои. Более того события нельзя отсортировать по тематике, а свои мероприятия (например, простые тусовки молодежи) публиковать проблематично.
Решение боли: мобильное приложение, в котором одни люди могут публиковать события (от мелких подростковых тусовок до крупных мероприятий), а другие - искать эти события по фильтрам в списке или на карте своего города.

Таким образом твой проект позволит тебе не только отточить навыки разработки, но и привлечь реальную аудиторию, которая действительно будут пользоваться твоим приложением или сайтом. А это уже может вырасти в целый стартап, приносящий доход.
👍2
Сандейфактс №3

Что нового в Teamup (для 1.1.0):
- Сообщение о новой версии вверху главного экрана, если доступно обновление.
- Выбор игры на отдельном экране и поиск игры из списка.
- Обложки у игр.
- Отображение любимой игры в профиле, если пользователь выбрал такую.
- Изменен внешний вид навигационной панели внизу.
- Исправлена работа уведомлений: теперь они работают.
🤯1
Сандейфактс №4

Что нового в Teamup (для 1.1.0):
- Выбор любимой игры на этапе регистрации. Ранее это можно было сделать только в настройках профиля, наверно поэтому многие и не знали что можно выбрать любимую игру.
- Исправлен баг с переключением статуса "в сети".

Следующий Сандейфактс №5 скорее всего будет последним для версии тимапа 1.1.0, после него будет выпущено обновление.
👍1
Плохой код лучше пустого файла

Будучи новичком в программировании, ты можешь задумываться о том, насколько хороший код пишешь.

Вот ты сделал крутой проект, все работает исправно, но под капотом - тьма тьмущая. Код сильно навороченный, сложный и непонятный. Структуры проекта нет, все написано чуть ли не в одном файле.

И это абсолютно нормально. У меня было то же самое. Бывало я даже полностью переписывал свой проект, потому что поддерживать его было уже невыносимо.

В программировании, как и любом другом деле, лучше сделать плохо, чем не сделать ничего. Плохой код лучше пустого файла. В следующий раз сделаешь нормально. А лучше вообще переписать то, что написано плохо.

В следующих постах я расскажу о лайфаках, которые позволят писать более красивый и понятный код.
👍3
Как красиво проверить данные на валидность

Задача: проверить входные данные (почту, пароль и повторенный пароль) на валидность перед регистрацией. Перед нами два решения.

В первом случае мы используем обычный условный оператор if и строим ветвление. Если требование выполняется, мы идем дальше, иначе - пишем ошибку. Такой код будет работать, но он будет довольно навороченный. Можно с легкостью запутаться во всех этих ветвлениях.

Есть более изящный способ выполнить все проверки. Во втором примере мы, наоборот, проверяем данные на отсутствие корректности, и, если требование не выполняется, пишем ошибку и вовсе выходим из функции через оператор return: дальнейший код не выполняется. Как ты сам можешь заметить, такой код более понятный и приятный глазу.

В моем коде выполняется три проверки. Как ты думаешь, какое еще условие можно сюда дописать?
Сандейфактс №5

Что нового в Teamup (для 1.1):
- Галочки "отправлено/прочитано" на сообщениях. Если одна галочка, сообщение просто отправлено, если две, оно прочитано собеседником (в чате) или, как минимум, одним членом команды (собственно в команде).

В ближайшие дни (а может и часы) будет выпущено обновление Teamup 1.1
This media is not supported in your browser
VIEW IN TELEGRAM
Опа-на!

Неожиданно выяснилась проблема: при заходе в команду приложение...просто вылетает!

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

Что поделать, придется фиксить...
Обновление Teamup 1.1

Всё, вроде как все проблемы исправил, можно выкатывать релиз.

Что нового:
- Возможность регистрироваться через почту и пароль.
- Звуковые сигналы после завершения формирования команды и при подключении к войсу.
- Шумоподавление в войсе.
- Выбор игры на отдельном экране и поиск игры из списка.
- Обложки у игр.
- Отображение любимой игры в профиле, если пользователь выбрал такую.
- Исправлен баг с переключением статуса "в сети".
- Галочки "отправлено/прочитано" на сообщениях.

Скачать Teamup можно как обычно
с
сайта, Rustore, облака или файлом снизу.
Сандейфактс №6

Что нового в Teamup (для 1.2):
- Создание публичных команд (может вступить кто угодно).
- Выбор своей любимой игры и изменение аватарки прямо на экране профиля.
Сандейфактс №7

Что нового в Teamup (для 1.2):
- Прикрепление игры к команде.
- Исправлена проблема с выбором картинок (аватарок, вложений в сообщения, иконок команд).
- Доработаны публичные команды.
Сандейфактс №8

Нового функционала пока нет, исправляем существующие проблемы.

Что нового в Teamup (для 1.2):
- Исправляем проблему с функционалом, работающим в реальном времени (чат, галочки "прочитано/не прочитано", автоматическое перенаправление в команду после поиска)
- Исправляем проблему с неполной загрузкой данных при входе в приложение
👍1
Лучше длинные, понятные названия, чем короткие и непонятные.

При названии переменных, классов функций лучше думать наперед.

Назвав переменную коротким непонятным именем, ты возможно сэкономишь пару секунд (а то и доли секунд) при ее использовании в коде. Также меньше клавиш придется нажимать, что тоже удобно.

Но вернувшись к своему проекту позже, ты обнаружишь, что написал абсолютно нечитабельный код. Придется вспоминать, что ты имел ввиду под этими названиями. Также стоит понимать, что в будущем (а может уже и сейчас) ты будешь работать в команде с другими программистами. И им будет трудно понимать твой код, если ты будешь плохо называть свои переменные.

Поэтому не поленись потратить пару секунд и подумать над именем своей новой переменной, функции или объекта. Лично я иногда даже захожу в переводчик, чтобы правильно назвать объект на английском (я надеюсь ты не называешь переменные на русском).