Участник:Shersh/Оформление — различия между версиями
Shersh (обсуждение | вклад) (сдвиги; xor; множественные операции) |
Shersh (обсуждение | вклад) м (возведение в степень #Псевдокод) |
||
Строка 19: | Строка 19: | ||
** Операторы, ключевые слова, название самой глобальной функции оборачивать в тройные кавычки ('''for''', '''if''', '''return''', '''and''', '''pushFront''' и другие) | ** Операторы, ключевые слова, название самой глобальной функции оборачивать в тройные кавычки ('''for''', '''if''', '''return''', '''and''', '''pushFront''' и другие) | ||
** Использовать словесное обозначение логических операций ('''and''', '''or''', '''xor''', '''not''' вместо &&, ||, !) | ** Использовать словесное обозначение логических операций ('''and''', '''or''', '''xor''', '''not''' вместо &&, ||, !) | ||
− | *** Вместо побитового '''xor'''-а ^ (крышечка) | + | *** Вместо побитового '''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
- (сравни x, y, 1)
- Классы чисел оборачивать в \mathbb
- Натуральные числа (сравни )
- Классы и функции оборачивать в \mathrm
- Класс регулярных языков (сравни )
- Вместо \mod использовать \bmod, когда применяется как бинарная операция
- (сравни )
- Вместо \le и \ge использовать \leqslant и \geqslant (сравни и )
- Для сдвигов (арифметических и нет) использовать \ll, \gg, \lll, \ggg вместо << и >> (сравни и )
Псевдокод
- Дополнение к концепции Python-style (надо понимать, что фигурные скобки, лишние круглые скобки, двоеточия после условий и многое другое — всё сделано для того, чтобы написать компилятор было проще, а программы компилировались быстрей, поэтому в псевдокоде надо стараться избегать всяких особенностей конкретного языка программирования, чтобы повысить читаемость кода)
- Операторы, ключевые слова, название самой глобальной функции оборачивать в тройные кавычки (for, if, return, and, pushFront и другие)
- Использовать словесное обозначение логических операций (and, or, xor, not вместо &&, ||, !)
- Вместо побитового xor-а ^ (крышечка) лучше писать (ниже о том, зачем это нужно)
- Вместо лучше писать in.
- Можно не как в python — not element in set, — а переставить операнды для повышения читаемости: element not in set
- Проверку типов и приведение к типу(если вдруг понадобится) писать как is и as
- Случаи использования tex в псевдокоде:
- вместо null
- вместо !=
- и другие виды скобок, если возвращается в функции какой-то сложный объект (например объект )
- Теоретико-множественные операции:
- Возведение в псевдокоде не писать через ^ (путается с xor). Лучше использовать ** или tex.