Автор Тема: Вредные и полезные привычки при написаний AutoIt-кода  (Прочитано 33908 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dwerf [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 478
  • Репутация: 218
  • Пол: Мужской
  • Использует ArchLinux
    • Награды
AZJIO  [?]
Цитировать
а есть ли случай когда сложение через оператор не работает?

(нажмите для показа/скрытия)

AZJIO  [?]
Цитировать
Если автор скрипта не добавил к Checkbox иные стили, то зачем лишний функции?
Например проверить наличие стиля $ES_READONLY у Edit. Кроме $ES_READONLY там могут быть например $ES_AUTOVSCROLL и $ES_AUTOHSCROLL, а могут и не быть. Заранее нужное число для оператора = не угадаешь. А BitAND проверит наличие именно нужного стиля.

Я в For-цикле всегда пишу Step, причём со знаком.
Код: AutoIt [Выделить]
For $i = 0 To 10 Step +1

Красивее имхо :)

Вместо " пишу ', потому что " часто приходится писать внутри строк.
Код: AutoIt [Выделить]
ShellExecute('"моя папка\мой файл"')
ShellExecute("""моя папка\мой файл""")

« Последнее редактирование: Июль 13, 2011, 03:51:52 от dwerf »
00110110001000001101000011010011001

Русское сообщество AutoIt

Re: Вредные и полезные привычки при написаний AutoIt-кода
« Ответ #15 Отправлен: Июль 13, 2011, 03:38:28 »

Оффлайн Redline [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 506
  • Репутация: 368
  • Пол: Мужской
    • Награды
Из полезного:
1. Для громоздких проектов делаю наброски на бумаге (жуткие схемы с таблицами и стрелочками под клавиатурой)
2. GUI делаю вручную
3. Стараюсь делать осмысленные названия переменных. Первая буква = тип переменной.
4. Если переделываю часть кода, то старый сохраняю в комментариях, чтобы можно было вернуться.
5. Код оформляю со всеми отступами - так его лучше просматривать, блоки кода разделяю пустыми строками.
6. Полезные функции, примеры и методы храню в отдельной папке.
Из вредного:
1. Терпеть не могу двойные кавычки (это какой-то бзик  :wacko:), поэтому везде где можно ставлю одинарные  :)
2. Иногда забрасываю проекты, не допилив весь функционал.
Уроки по регулярным выражениям на AutoIt: RegExp

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2694
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Терпеть не могу двойные кавычки (это какой-то бзик  :wacko:), поэтому везде где можно ставлю одинарные

Это скорее "+", т.к. двойные кавычки можно легко принять за две одинарные.


Думай, прежде чем говорить.

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2314
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Redline  [?]
Цитировать
Терпеть не могу двойные кавычки
Аналогично. Единственный минус одинарных кавычек - #OnAutoItStartRegister их не воспринимает (у меня).

Русское сообщество AutoIt

Re: Вредные и полезные привычки при написаний AutoIt-кода
« Ответ #18 Отправлен: Июль 13, 2011, 09:46:52 »

Оффлайн WSWR [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 929
  • Репутация: 351
    • Награды
  • Версия AutoIt: 3.3.14.0
AZJIO
Цитировать
делаю после каждой фичи копию скрипта с добавлением индекса 1,2 и т.д. чтоб в любой момент вернутся к предыдущему варианту или вытащить из старой копии фичу
Аналогично, для каждого серьезного проекта своя папка, в ней - файлы с номерами.

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Полезное:
Всегда стараюсь ставить комментарии в коде где это имеет смысл, ибо через месяц скрипт в 4000 строк без комментариев становится труден к прочтению.

Вредное:
Жалею тратить время на придумывание вразумительных имен переменных, о чем в последствии также жалею. :)

Оффлайн alex33 [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1366
  • Репутация: 171
  • Пол: Мужской
    • alekssamos ВКонтакте
    • Награды
  • Версия AutoIt: 3.3.12.0
CreatoR <
Вот мои:
полезные: 1, 2, 5, 7, 8, 10, 11, 12, 13, 16, 18.
и вредные: 1, 3, 4, 5, 6, 7.

Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3482
  • Репутация: 926
    • Награды
  • Версия AutoIt: 3.3.14.0
Моя вредная привычка заключается в том, что комментарии в коде присутствуют в размере в несколько раз превышающим сам код. То есть строка из 20 символов, может спокойно содержать комментарий из 300-500 символов.
То есть как-то так:
Код: AutoIt [Выделить]
#cs - Обратиться сюда командой ConCheck("Cargo Hold") - если мы хотим различить заполненность трюма по одному из трех состояний Full, Empty, Not Empty
#ce - Обратиться сюда командой ConCheck("Cargo Hold", "%") - если мы хотим узнать процентное значение заполненности трюма 0-100%

Local $CargoBarStatus = PixelSearch($CargoBar[0], $CargoBar[1], $CargoBar[2], $CargoBar[3], $CargoBar[4], $CargoBar[5]) ;Проверяем есть ли чо в трюме
If @error Then ;Цвет не нашли - значит трюм заполнен на 100% (Верно лишь тогда когда окно трюма находится на правильной позиции) (При необходимости надо прикрутить проверку наличия окна, и возврат его текущих координат или же возврат окна на эталонные координаты)
   If $ToCheck3 = "%" Then Return 100 ;Если $ToCheck2 = "%" (Запрос был сформирован как ConCheck("Cargo Hold", "%") вернуть 100%
   Return "Full" ;Вернуть Full
Else ;Если трюм не полный
   If $CargoBarStatus[0] = $CargoBar[0] Then ;Если трюм пустой
      If $ToCheck3 = "%" Then Return 0 ;Вернуть 0%
      Return "Empty" ;Если $ToCheck2 <> "%" - Вернуть Empty
   Else ;Финальная проверка если трюм не пустой и не полный. Вернуть текущее процентное значение состояния заполненности трюма. Расчет идет по формуле: Округлить результат((([Координата места где заканчивается индикатор заполненности-Координата левого края] - [Координата правого края области поиска-Координата левого края области поиска] * 100 ), 0)
      If $ToCheck3 = "%" Then Return Round(($CargoBarStatus[0] - $CargoBar[0])/($CargoBar[2]-$CargoBar[0])*100, 0) ;Если $ToCheck2 = "%" (Запрос был сформирован как ConCheck("Cargo Hold", "%") - расчитать текущее % значение заполненности трюма и вернуть его в формате [Число]%


Любые темы внутри раздела "Разработка ботов" не названные в соответствии с правилами раздела, будут закрываться.
Любой ответ, любого пользователя в теме с предупреждением, направленный на решение вопроса, произведенный до того как предупреждение было исправлено, приведет к закрытию темы и удалению всего что было после предупреждения.

Русское сообщество AutoIt

Re: Вредные и полезные привычки при написаний AutoIt-кода
« Ответ #22 Отправлен: Август 20, 2013, 15:04:17 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2314
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Belfigor  [?]
Цитировать
Моя вредная привычка заключается в том, что комментарии в коде присутствуют в размере в несколько раз превышающим сам код.
ИМХО, это у Вас весьма полезная привычка.  :)

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
madmasles  [?]
Цитировать
ИМХО, это у Вас весьма полезная привычка. 
можно увеличить полезность a.k.a. читабельность этой привычки, если начать делать многострочные комментарии :)
Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2712
  • Репутация: 1137
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Belfigor
Если в редакторе нет переноса строк, а комментарии начинаются в конце строки кода, то получается что они не мешают и в тоже время их легко можно прочитать при надобности.
По поводу комментариев: очень много правил для правильного кодинга уже написано для языка Си, и в одном из них было сказано, что комментарии должны быть указаны только к тем участкам кода, которые представляют трудность чтение, например:
2+2 ; складываем два числаэто излишнее, потому что явно понятно и без комментариев.
-------------------------
1. Я перестал присваивать переменным пустую строку. Оказалось что переменная и элементы массива по умолчанию являются строковый тип и дополнительно ничего не требуется.
2. Стал пользоваться Tidy постоянно. Поставил его на клавишу Alt+Z и любой код новичка обязательно пропускаю через Tidy, перед тем как разбираться в нём.
3. Стал делать план перед любым проектом и отчёт о выполненных пунктах. Это позволяет на этапе зарождения программы учесть всё что будет включено заранее и избавляет от дальнейшего дописывание заплаток.
4. Любой участок кода, который можно сделать в виде отдельной самостоятельной функции, так и делаю. Это позволяет забыть об очистке переменных и не следить чтобы такое дублирование приводило к растрате памяти. Кстати про ООП дочитал статью, в которой как раз и говорилось что при переходе Firefox на ООП привело к тому что некоторые классы держали в памяти дубликаты переменных и при закачке файла 1 Гб размер в памяти был дублированным.

Из недостатков:
1. Редко пользуюсь Au3Check.exe. Во первых он замедляет работу при тестировании программы заставляя объявить все переменные для кода который возможно через минуту будет удалён. Но для UDF обязательно проверяю, чтобы исключить необъявленные переменные (это уже не недостаток).
2. До сих пор не использую #Region

-----------------------------
На счёт сложения битовых флагов с помощью BitOR (например стилей GUI). Заявил об этом на офсайте, в принципе все приняли это как рекомендацию, а не как жёсткое правило, потому что те, кто понимают что это такое, они либо складывают с помощью BitOR, либо заранее уверены, что складываемые константы являются одиночными флагами.
« Последнее редактирование: Август 20, 2013, 21:49:54 от AZJIO »

max1300

  • Гость
вот когда я пишу скрипт чтоб придумать имя переменной я особо сильно не напрягаюсь

Оффлайн C2H5OH [?]

  • Знаю я тут одно место с офигенными циркулями...
  • AutoIt Гуру
  • *****
  • Сообщений: 1473
  • Репутация: 332
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Я между строками кода привык ставить пустую строку. Мне так легче код читать...
Рано или поздно все станет понятно, все станет на свои места и выстроится в единую красивую схему, как кружева. Станет понятно, зачем все было нужно, потому что все будет правильно.

Оффлайн MEXAH [?]

  • Новичок
  • *
  • Сообщений: 16
  • Репутация: 0
  • Пол: Мужской
  • What if?
    • Награды
  • Версия AutoIt: 3.3.8.1
Избегаю ставить пробелы в коде, и мне это нравится.  ;D
Увлекаюсь рутиной, написав 50 условий в конце понимаю что можно было их все вписать в 1 цикл.

Оффлайн Александр_ [?]

  • Новичок
  • *
  • Сообщений: 62
  • Репутация: 2
  • Пол: Мужской
  • [url=http://autoit-script.ru/index.php?topic=21393
    • Награды
  • Версия AutoIt: 3.3.12.0
Постоянно использую огромное количество вложенных циклов, потом приходится переписывать код в более компактной форме :stars:  :IL_AutoIt_1:

Русское сообщество AutoIt

Re: Вредные и полезные привычки при написаний AutoIt-кода
« Ответ #29 Отправлен: Июнь 04, 2015, 05:38:50 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
87 Ответов
62868 Просмотров
Последний ответ Апрель 02, 2015, 06:54:02
от madmasles
17 Ответов
13091 Просмотров
Последний ответ Апрель 13, 2015, 19:55:25
от CreatoR
10 Ответов
5058 Просмотров
Последний ответ Октябрь 31, 2011, 16:10:49
от uppdrag
72 Ответов
24674 Просмотров
Последний ответ Май 06, 2014, 17:31:43
от Voodooman
3 Ответов
3745 Просмотров
Последний ответ Июнь 19, 2012, 13:49:19
от den-x
36 Ответов
11425 Просмотров
Последний ответ Декабрь 06, 2012, 22:43:35
от joiner
3 Ответов
5232 Просмотров
Последний ответ Август 28, 2014, 18:06:39
от Skif_off
7 Ответов
3554 Просмотров
Последний ответ Май 17, 2013, 14:43:01
от madmasles
2 Ответов
2468 Просмотров
Последний ответ Октябрь 21, 2013, 22:11:10
от Garrett
1 Ответов
1284 Просмотров
Последний ответ Январь 14, 2016, 11:43:43
от vaf