- 1
- 2
- 3
- 4
- 5
- 6
perft :: Int -> Position -> Int
perft depth pos
| depth <= 0 = 1
| otherwise = sum . map (perft $ depth - 1) $ legalPositions where
legalPositions = filter isLegalPosition nextpositions
nextpositions = map (\move -> makeMove move pos) $ (moves pos)
Это говнокод, детка.
И при отправке говнокода, табы бы конвертировались в нужное число пробелов.
В разношерстной команде работать с табами ужасно - для своих проектов одни настройки, для участия в других - приходится менять. Мне вот приходилось переключать редактор на табы, чтобы коммитить в код Fai.
А хаскель, как и питон, привередлив к смешиванию пробелов и табов. И может тупо выдать синтаксическую ошибку.
Жаль, что многие редакторы до сих пор используют по умолчанию табы.
Так мне еще и // <br> в конце каждой строки писать?
Идеальный вариант - только если редактор может прозрачно обрабатывать пробелы, как будто это табы. Главное. чтобы не только при вставке, но и при перемещении курсора.
на что жать? мой emacs сразу ставит правильный отступ.
> когда-нибудь кто-нибудь будет смотреть мой код
я, например, очень часто изучаю код, выложенный на гитхабе. Да и собственные сорцы часто изучаю в gitweb.
My fingers can not be retrained.
http://www.youtube.com/watch?v=h6y0HqT9NTo
В гугле умеют тонко шутить
/fixed
Все редакторы так умеют. Ну кроме ноутпэда разве что.
> С табами удобнее - не надо несколько раз жать.
Я жму таб, втыкаются 4 пробела. ЧЯНТД? vim, notepad++, mcedit, qtcreator, eclipse, везде с этим норм.
P.S. Да, бекспейс в большинстве редакторов делает отмену indent'а, поэтому курсор и влево прыгает на 4/8/сколько нужно пробелов.
VS2008 что-то такого не делает, если в тексте пробелы... В общем, если буду пользоваться чем-нибудь другим, настрою на пробелы.
В клипсе тоже стирает по одному пробелу. Это жопа, но там работает shift-tab, в визуалке, емнип, тоже.
В креаторе в настройках ставится поведение бекспейса - отмена отступа.
В mcedit по дефолту пашет, если переключиться на пробелы.
В vim работает, на сколько помню на это влияет shiftwidth.
vim+gcc+gprof+gdb (+tmux)
>> +tmux
Мне, кстати, понравился gyp
> gyp
Почитаю, на первый взгляд синтаксис выглядит неплохо.
Да, проклятый недосып... Попутал с tup, упомянутым Fai в другом треде
Но спецификация проекта gyp мне нравится гораздо больше, чем мутноватый императивный язык cmake.
cmake же
И кстати, есть tup, который круче в сотню раз. И Роман его уже упомянул, сославшись на мое раннее упоминание.
M-/ - удаляет пробелы, все что есть, и справа и слева, но курсор должен быть внутри этих пробелов.
TAB выравнивает в соответствии с настройками режима редактирования (т.е. может и добавить и убрать пробелов, смотря какой исходный текст был). Работает в любом месте строки, не обязательно перед кодом.
M-C-q - как TAB, только для отдельного выражения.
M-q C-q - специфицчно для SLIME, форматирует описание функции.
M-x TAB - добавляет единицу табуляции в произвольном месте.
C-j - перевод каретки с выравниаванием.
M-C-j - перевод каретки с выравниванием комментариев (добавит разделитель комментариев после перехода на новую строку).
M-C-\ - форматирование выделенного участка кода.
M-m - переход к концу отступа (началу кода), не меняет размер отступа, но удобно в комбинации с M-/ или M-BACKSPACE.
Большинство символов, которые могут повлиять на расстановку пробелов (т.н. электрические символы) тоже могут добавить или убрать пробелы.
Ну и для тех, кому показалось мало:
C-M-k дальше, переходим к следующему выражению, которе нужно подобрать, C-M-w C-M-k и оно объединяется в буффере с предудущим скопированным.
Так это же хорошо. Кому-то больше нравится видеть код с большими отступами, кому-то - с маленькими и в таком случае у всех будет отображаться таб любимого размера.
> Мне вот приходилось переключать редактор на табы, чтобы коммитить в код Fai.
Уже исправил.
А мне вот нравится видеть код так, как его видит автор. Особенно если приходится его править. Ведь нарушение стиля изначального автора - не есть гуд.
Осталось подождать, когда все редакторы смогут его поддерживать.
Джва пробела?
Прим: запятые - мои.
Но знаки препинания (запятые, точки с запятой) по-прежнему не по-тарасовски.
Форматироваться должно всё, чтобы сразу видеть проебанную запятую, например.
Попытался забить символ '\t' на shift+tab, а он гад все-равно пробелами вставляет.