4 подписчика
Чек-лист профессионального программиста
Это свод правил, выработанный за годы фриланса
Когда соблюдаю их, приложение получается удобным для юзера
Да, этот список не сделает из вас сеньора, как и не делает им меня. Но это как с мужем-на-час, который не только починил кран, но и убрал за собой рабочее место — сразу видно, крутой
• сортировать списки
если список выводится пользователю, нужно не забыть понятную сортировку - по дате создания или алфавиту, если нет других заданных параметров
• проверять нули, пустые строки и нуллы, количество элементов в списке
продумайте, что увидит юзер. например, если список пуст, не забыть вывести "оëой, данных пока нет"
и не выводить "ваша скидка 0% !!!"
• поднимать ошибку по стеку в обертке
если вы запрашиваете Long из базы данных, то возвращать -1 в случае ошибки не лучшая идея. Лучше вернуть Success(value) или Error(errorCode)
• использовать варианты toDoubleOrNull() вместо toDouble()
никогда не надейтесь, что преобразование строки в число пройдёт успешно
а вдруг кто-то подсунет строку с запятой вместо точки?
приложение крашнется с ошибкой NotNumber, а юзер умрёт от инфаркта
лучше добавить лишнюю проверку на null (или обернуть в try-catch)
• сообщать о загрузке
если контент загружается больше 500мс, отобразите индикатор загрузки или скелет будущего контента
• помнить, что юзер может закрыть приложение в любой момент, но операция должна завершиться
юзер не обязан ждать, пока данные сохранятся - может свернуть приложение, заблокировать телефон, уронить его в лужу - операция должна выполниться в фоне
1 минута
12 сентября 2022