Pull to refresh

Comments 7

Напишите реализацию вычислений с Curve25519, не используя в именах цифры и чтобы функции были по 8-10 строк, а заодно попробуйте следовать всем остальным пунктам. Думаю, вам будет весело…
Дельные советы, на самом деле.
По поводу:
2. Название публичного класса и файла должно совпадать.

Разве оно будет работать и компилироваться с разными именами? Вроде спецификация Java этого не позволяет. Хотя это же Dalvik.
Этот подход использую. Удобно, когда надо добавить информации в обработчик
itemView.setOnClickListener(v -> productClickListener.onProductClick(product));

Спасибо за напоминание notifyDataSetChanged()
getQuantityString не знал.
Советы дельные, но вот насчет того что префиксы совсем не нужны — не согласен. Иногда полезно знать что у тебя статика, а что private
Просто надо прекращать кодить в блокноте. Любая адекватная IDE/редактор выделяют подсветкой статические члены.
DSolodukhin, IDE не единственное место где люди работают с кодом. Например, ни GitHub, ни BitBucket не умеют отделять локальные переменные от приватных переменных объекта.
Лучше заменить notifyDataSetChanged на DiffUtil, это позволит обновлять ячейки в списке эффективнее

Что значит «эффективнее»? Если я не ошибаюсь, в первом случае произойдёт просто полная перерисовка текущего виджета (и закешированных элементов) RecyclerView. Во втором произойдёт сравнение поэлементное сравнение двух массивов (сначала по айдишнику, потом по полям — зависит и от реализации) для создания красивых анимаций в автоматическом режиме (без вызовов notifySmthUpdated() для нужных элементов вручную. Это ещё и в основном треде произойдёт по умолчанию. Таким образом, задач процессору прилетит сильно больше именно во втором случае.

Получается, тут уместнее слово «эффектнее», а не «эффективнее».
В большинстве случаев «магические числа» конечно же нужно выделять в отдельные константы, но этот пример:
StringBuilder builder= new StringBuilder();
for (int i = days; i > 0; i /= 10) {
    builder.insert(0, i % 10);
}

на мой взгляд, как раз наоборот является примером, где лучше использовать 10 вместо константы (банально сложно придумать адекватное название для 10 в данном контексте), а так в принципе понятно, что этот цикл откусывает от числа последнюю цифру на каждой итерации и вставляет ее в начало строки (в конченом итоге это просто:
String.valueOf(days)
).
Sign up to leave a comment.