- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
// create the scroll view
UIScrollView *scr = [[UIScrollView alloc] initWithFrame:self.bounds];
self.dayScroll = scr;
[scr release];
[self addSubview:self.dayScroll];
scr = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];
self.allDayScroll = scr;
[scr release];
[self addSubview:self.allDayScroll];
Steve_Brown 27.11.2012 13:34 # +1
bormand 27.11.2012 13:42 # +2
Какая-то паскалистская привычка. Чтобы до var'а каждый раз не скроллить.
Fai 27.11.2012 13:52 # +3
Там так неудобно заводить новые переменные, что легче делать маленькие функции.
bormand 27.11.2012 14:10 # +2
TarasB 27.11.2012 14:27 # +4
Fai 27.11.2012 14:47 # 0
Вместо того, чтобы усложнять синтаксис и делать из Си - кресты, он с каждым новым языком упрощал синтаксис, наращивая мощь и выразительность.
Если посмотреть цепочку Алгол* - Паскаль - Модула 2 - Оберон - Оберон 2 то сразу станет видно, что Вирт шел по пути упрощения языка и Оберон действительно очень прост и красив.
* к Алголу он имеет только косвенное отношение, но при этом Паскаль основан на базе Алгола.
Fai 27.11.2012 14:33 # +6
1. Не используйте функции. Копипастьте поторяющиеся куски и никогда не выделяйте самостоятельный код в процедуры с говорящими названиями.
2. Используйте только глобальные переменные с простыми именами, вроде a, b, x, t.
3. Старайтесь составлять как можно более сложные выражения в своем коде. Тогда все поймут, какой вы крутой программист.
4. Не тратьте впустую пробелы и переводы строк. Чем меньше пустого места в программе, тем лучше.
5. Ищите интересные выходы из самых обычных ситуаций. Например для проверки булевого значения, переведите его в строку и проверьте длину.
6. Не позволяйте компилятору самому вычислять константы, используйте калькулятор и прописывайте в коде результаты выражений (1440 вместо 24*60).
7. Пишите как можно больше комментариев. Представьте, что программа, это ваш личный дневник, выписывайте все, что только придет в голову! Также не забудьте оставить пометки на будущее, вроде
Если вы будете соблюдать все эти правила, ваш код будет очень трудным для понимания и все будут считать вас крутым программистом. Удачи!
anonimb84a2f6fd141 27.11.2012 19:05 # −1
Имхо, на первом месте по использованию знаменитая "i".
Fai 27.11.2012 21:00 # +1
bormand 28.11.2012 05:34 # +2
Fai 28.11.2012 06:24 # 0
А ТАК:
bormand 28.11.2012 06:30 # 0
Fai 28.11.2012 06:34 # 0
Что бы это еще значило?
bormand 28.11.2012 07:06 # 0
Fai 28.11.2012 07:27 # 0
[I]
Fai 28.11.2012 07:28 # 0
bormand 28.11.2012 08:31 # 0
Лучше поищи что-то готовое, что выдает только валидные позиции.
Fai 28.11.2012 15:59 # 0
Или тупо давать жрать короля и выдавать минус 100500?
bormand 28.11.2012 19:51 # 0
Ну как проверить - после нашего хода король не должен быть под шахом. Поэтому для проверки запускаем поиск ходов противника, если среди них есть рубящий короля - значит наш ход невалиден. Если не туплю - этого достаточно.
Fai 28.11.2012 20:03 # 0
А то, что сейчас у меня есть итак тормозит (правда не так сильно как я ожидал).
Ну и конечно, я уже добавил проверку, просто perft теперь рекурсивно обходит не все, а только легальные позиции. Ну и нарвался на кучу багов. Буду ловить, фиксить и через 2-3 дня уже будет готов поиск, тогда погоняю его на паре позиций, отрефакторю, пройдусь профайлером, оптимизирую, еще раз отрефакторю и пойду наконец учить лисп.
scriptin 27.11.2012 19:24 # +6
Такие дела.
roman-kashitsyn 27.11.2012 19:28 # +3
guest 27.11.2012 19:35 # 0
Ещё Турбо Паскаль по-разному производит вычисления с вещественными в рантайме и в компайлтайме.
Steve_Brown 28.11.2012 10:50 # 0
Fai 27.11.2012 21:02 # +1
alex-86 25.08.2021 20:57 # 0