Участник:Shersh/Оформление — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(сдвиги; xor; множественные операции)
м (возведение в степень #Псевдокод)
Строка 19: Строка 19:
 
** Операторы, ключевые слова, название самой глобальной функции оборачивать в тройные кавычки ('''for''', '''if''', '''return''', '''and''', '''pushFront''' и другие)
 
** Операторы, ключевые слова, название самой глобальной функции оборачивать в тройные кавычки ('''for''', '''if''', '''return''', '''and''', '''pushFront''' и другие)
 
** Использовать словесное обозначение логических операций ('''and''', '''or''', '''xor''', '''not''' вместо &&, ||, !)
 
** Использовать словесное обозначение логических операций ('''and''', '''or''', '''xor''', '''not''' вместо &&, ||, !)
*** Вместо побитового '''xor'''-а ^ (крышечка) желательно писать <tex> \bigoplus </tex>
+
*** Вместо побитового '''xor'''-а ^ (крышечка) лучше писать <tex> \bigoplus </tex> (ниже о том, зачем это нужно)
 
*** Вместо <tex> \in </tex> лучше писать '''in'''.
 
*** Вместо <tex> \in </tex> лучше писать '''in'''.
 
*** Можно не как в python {{---}} '''not''' element '''in''' set, {{---}} а переставить операнды для повышения читаемости: element '''not in''' set
 
*** Можно не как в python {{---}} '''not''' element '''in''' set, {{---}} а переставить операнды для повышения читаемости: element '''not in''' set
Строка 28: Строка 28:
 
** <tex> \langle, \rangle</tex> и другие виды скобок, если возвращается в функции какой-то сложный объект (например объект <tex> \mathrm{Pair} </tex>)
 
** <tex> \langle, \rangle</tex> и другие виды скобок, если возвращается в функции какой-то сложный объект (например объект <tex> \mathrm{Pair} </tex>)
 
** Теоретико-множественные операции: <tex> \cap \cup \subset \subseteq \triangle \setminus</tex>
 
** Теоретико-множественные операции: <tex> \cap \cup \subset \subseteq \triangle \setminus</tex>
 +
** Возведение в псевдокоде не писать через ^ (путается с '''xor'''). Лучше использовать ** или tex.

Версия 21:17, 11 ноября 2013

Основные правила написаны здесь и здесь.

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

Tex

  • Переменные и константы в тексте оборачивать в tex
    • [math] x, ~y, ~1 [/math] (сравни x, y, 1)
  • Классы чисел оборачивать в \mathbb
    • Натуральные числа [math] \mathbb{N} [/math] (сравни [math] N [/math])
  • Классы и функции оборачивать в \mathrm
    • Класс регулярных языков [math] \mathrm{REG} [/math] (сравни [math] REG [/math])
  • Вместо \mod использовать \bmod, когда применяется как бинарная операция
    • [math] x \mod y [/math] (сравни [math] x \bmod y [/math])
  • Вместо \le и \ge использовать \leqslant и \geqslant (сравни [math] \le \ge ~\gt \gt [/math] и [math] \leqslant \geqslant [/math])
  • Для сдвигов (арифметических и нет) использовать \ll, \gg, \lll, \ggg вместо << и >> (сравни [math] \lt \lt ~ \gt \gt ~ \gt \gt \gt [/math] и [math] \ll \gg ~ \ggg [/math])

Псевдокод

  • Дополнение к концепции Python-style (надо понимать, что фигурные скобки, лишние круглые скобки, двоеточия после условий и многое другое — всё сделано для того, чтобы написать компилятор было проще, а программы компилировались быстрей, поэтому в псевдокоде надо стараться избегать всяких особенностей конкретного языка программирования, чтобы повысить читаемость кода)
    • Операторы, ключевые слова, название самой глобальной функции оборачивать в тройные кавычки (for, if, return, and, pushFront и другие)
    • Использовать словесное обозначение логических операций (and, or, xor, not вместо &&, ||, !)
      • Вместо побитового xor-а ^ (крышечка) лучше писать [math] \bigoplus [/math] (ниже о том, зачем это нужно)
      • Вместо [math] \in [/math] лучше писать in.
      • Можно не как в python — not element in set, — а переставить операнды для повышения читаемости: element not in set
      • Проверку типов и приведение к типу(если вдруг понадобится) писать как is и as
  • Случаи использования tex в псевдокоде:
    • [math] \varnothing, \emptyset [/math] вместо null
    • [math] \neq [/math] вместо !=
    • [math] \langle, \rangle[/math] и другие виды скобок, если возвращается в функции какой-то сложный объект (например объект [math] \mathrm{Pair} [/math])
    • Теоретико-множественные операции: [math] \cap \cup \subset \subseteq \triangle \setminus[/math]
    • Возведение в псевдокоде не писать через ^ (путается с xor). Лучше использовать ** или tex.