Каково объяснение использования суффиксов _m или _ в названиях переменных в unity?
В Unity различают следующие обозначения переменных: 1. Camel Case: переменные начинаются с маленькой буквы и каждое следующее слово начинается с заглавной буквы, например: playerHealth, ammoCount. 2. Pascal Case: переменные начинаются с заглавной буквы и каждое следующее слово также начинается с заглавной буквы, например: PlayerHealth, AmmoCount. 3. Underscore Separated: каждое слово в переменной разделяется символом подчеркивания _, например: player_health, ammo_count. Суффиксы _m или _ используются в названиях переменных в Unity для обозначения, что данная переменная является мембер-переменной класса. Такие суффиксы помогают делать код более читаемым и понятным, показывая, что данный элемент является частью класса. Однако использование суффиксов не является обязательным и зависит от стиля написания кода каждого разработчика.
Это <a href="https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F" rel="nofollow">Венгерская нотация</a> . <br/> <br/> Раньше использовалось, чтобы различать переменные и члены класса, по типам и т.д., т.к. не было удобных IDE, которые все подчеркивают. <br/> <br/> Сейчас это осталось но не в том виде как раньше. Сейчас, если и используют, то _ и m_ - это просто пометка, что это часть класса, поле. Просто для удобства, чтобы различать. <br/> <br/> Например, в этом случае все однозначно <br/> <pre><code class="cs">class Sample
{
private int _value;
public Sample(int value)
{
_value = value;
}
}</code></pre> <br/> <br/> А в этом нет (даже компилятор может ошибиться <br/> <br/> <pre><code class="cs">class Sample
{
private int value;
public Sample(int value)
{
/* надо this.value = value */
value = value;
}
}</code></pre>