Вопрос

Я не использую префиксы венгерского (STR, INT) в .NET, но я все еще нахожу это полезным в VBA, где труднее увидеть типы.

Это плохо? Ненужный? Может быть, я что-то скучаю.

Я бы очень признателен за любые отзывы. Мне было интересно некоторое время.

Спасибо всем.

Это было полезно?

Решение

Я всегда использую префиксы одного и двух букв в VBA. Я уверен, что я единственный, кто будет признать это, но я понял, что кто-то нужно было противоречить.

Из 18 миллионов строк кода VBA я написал, я сотрудничал около 1000. Если никто больше не видит мой код, то я свободен использовать конвенцию, которая мне нравится. Если кто-то другой будет работать в вашем коде, вы должны договориться о конвенции.

Мне нравится, что это позволяет мне сохранить мои переменные имена короче. Я мог бы использовать FileNumber и Filename или I могли использовать lfile и sfile. Я не нахожу еще один или менее читаемый, чем другой. Это также помогает мне использовать зарезервированные слова в качестве переменных. Если я хочу использовать заменить в качестве имени переменной, я не могу. Но я могу использовать sreplace или lreplace.

Другие советы

Я бы сказал, что такого рода венгерская обозначение - корень всех зол практически на каждом языке. Некоторые люди говорят, что это удобно для чрезвычайно динамичных языков. Но нет, я думаю, что префиксирование аббревиатуры типа на имя переменной является избыточным в 99% всех случаев и просто приводит к уродливому коду.

видеть Почему я не должен использовать венгерскую обозначение?

Я советую пойти на что-то немного более высокого уровня, чем просто типы, чтобы вы могли видеть, какова цель вещей. Таким образом, вместо того, чтобы звонить что-то string, назовите это name или ан addrэс, а вместо int, Назовите это count или а coordИнат или ...

(Я предпочитаю использовать суффиксы для префиксов, но это вопрос стиля и вкуса.)

Если стиль у вашей компании установлен на использование венгерской обозначения, то нет проблем, используя его - политика - это политика. Есть много инструментов, которые помогают обеспечить соблюдение конвенций по именованию кодирования (например, Stylecop для C #) Итак, вы можете двигаться дальше, если вам разрешено.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top