These are chat archives for rus-speaking/android-off-topic

24th
Sep 2016
Dmitry Ikryanov
@HD97300
Sep 24 2016 12:03

@DarkMentat

все таки не венгерская. В венгерской пишут детальный тип в префиксах

The notation is sometimes extended in C++ to include the scope of a variable, optionally separated by an underscore.[3][4] This extension is often also used without the Hungarian type-specification:
m_wheels: member of a class
s_wheels : static member of a class

но все таки стандарт

"Стандарт" только в среде AOSP, тот же google его не придерживается 5.1 Rules common to all identifiers

Помимо Джейка, так же в "Чистом Коде" Мартина затронуты такие пережитки прошлого, как Венгерская нотация и префиксы членов классов. Со временем начинаешь игнорировать и не замечать данные префиксы, видя только содержательную часть имени. В итоге префикс превращается в невидимый баласт.

Andrew Kaganets
@DarkMentat
Sep 24 2016 12:05
@int-00h тоесть любой префикс перед чем-то - и это уже венгерская нотация?
@int-00h гугл пишет в доках одно, но сами м-ки его прогеры юзают: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/android/support/v7/widget/Toolbar.java
Закину сюда на всякий, что б контекст было видно
А м-ки мне помогали:
  • код смотришь не только в студии, тот же гитхаб не различает поля и переменные
  • как никак, хоть и "стандарт" не родной и не стандарт вовсе, но все таки стандарт х)
  • все же несут семантику: в методах можно писать что-то типа mResponse = response.trim(); или mTemplate = sTemplate; mTemplate.set(...);
  • не смотря на стили студии, акцент все же ярче (различие в написании заметнее, чем различие в шрифтах), но это так, субьективщина
Dmitry Ikryanov
@HD97300
Sep 24 2016 12:08
@DarkMentat потому что это AOSP, там "исторически так сложилось" и чтобы код не разнился сильно по стилю, приходится придерживаться существующего стиля
Dmitry Ikryanov
@HD97300
Sep 24 2016 12:13

@DarkMentat

тоесть любой префикс перед чем-то - и это уже венгерская нотация?

Из статьи Джейка

Before I attempt to refute this, let’s define Hungarian notation. According to Wikipedia, there are two types of Hungarian notations:

  • System notation encoded the data type of the variable in its name. A user ID that was a long represented in Java would name a variable lUserId to indicate both usage and type information.
  • Apps notation encoded the semantic use of the variable rather than it’s logical use or purpose. A variable for storing private information had a prefix (like mUserId) whereas a variable for storing public information had another prefix, or none whatsoever.
Andrew Kaganets
@DarkMentat
Sep 24 2016 12:26
@int-00h ладно, видимо она скоро умрет. И мне немного жаль, она мне сразу понравилась, без нее читать котлин-код на гитхабе или SO сложнее и все равно прийдется иногда юзать префиксы, только уже другие (типа temp, local, raw итд) =(
Timur Darmaev
@iTiPo
Sep 24 2016 12:52
Кажется, я случайно нашёл блог @BOOMik http://boomik.ru/ :D
Dmitry Ikryanov
@HD97300
Sep 24 2016 12:54
@iTiPo наведя мышкой на его ник?)
Timur Darmaev
@iTiPo
Sep 24 2016 13:00
@int-00h хах, я поступил сложнее. :D На 4pda нашёл ссылку. :D