LINUX.ORG.RU

Псевдокод. Кто чем пользуется

 , ,


1

2

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

for( QDateTime now = start; now < end; now += step)
{
	Report::Event event;
	BufferSender::TimeMessage message;
	QList< Alarm> alarms = alarms for this step;
	foreach laser
	{
		message = get message from laserMessages with (time < now) and time->max;
		Report::LaserEvent laserEvent;
		laserEvent.distance = LaserReader::produceMessage( message);
		laserEvent.alarms = alarms for this laser only;
		laserEvent.speed = calculate speed from all messages for this step;
		event.laserEvent[ laserId] = laserEvent;
	}
	event.angle = calculate angle from laser events;
	event.dateTime = now? or something else?;
	events.append( event);
}

В итоге накопилось порядка 100 строчек псевдокода.

И увидел я, что это хорошо.

Собственно интересно было бы узнать, кто и как использует написание псевдокода в своих проектах. Какие-то широко известные методики? Ваши личные уловки и трюки? Стандартизированный псевдокод, который используется всей командой?

★★★★★

Последнее исправление: beastie (всего исправлений: 1)

так вот как называется встроенный язык 1С...

bvn13 ★★★★★
()

Псевдокод на питоне хорош тем, что он в большинстве случаев сразу исполняемый.

PolarFox ★★★★★
()

Python сам по себе псевдокод. Или JavaScript.

E ★★★
()

Шпарю по русско-англиийски. Например, так: пока... фор (i = 0; i++; i < 100)

Ну и так далее...

drSchur ★★★
()

Если приспичит то карандашиком на бумажке, русскими словами. Главное записать и в дальнейшем понять алгоритм/идею, остальное не важно.

xterro ★★★★★
()
Ответ на: комментарий от drSchur

Переключать раскладку не достаёт?

Y ★★
()

1. Пройти по хмл циклом, вставить в сцену объекты, обработать тык по ним, закрыть гуй

minakov ★★★★★
()

Псевдокод редко нужен. В большинстве случаев можно просто использовать несуществующие функции.

anonymous
()

В лекциях обычно в качестве псевдокода использую что-то, напоминающее JavaScript с вводимыми по ходу дела условностями. Не знаю почему.

Aceler ★★★★★
()
Ответ на: комментарий от anonymous

Псевдокод редко нужен. В большинстве случаев можно просто использовать несуществующие функции.

+1

Pavval ★★★★★
()

UML, только UML!

anonymous
()

У мусье проблемы с декомпозицией и написанием корректных синтаксических конструкций?

Маленький плюсик тем, кто предложил несуществующие функции (про аргументы не забыть). Я бы вечером набросал интерфейсы (если бы успел, то и верхнеуровневую логику), а потом хоть через неделю понял бы что я собирался сделать. Или отдал бы эту заготовку кому-то другому допилить.

anonymous
()

Пишу алгоритм в комментарии, потом реализовываю.

S-Mage ★★
()

Обычно в таких случаях записываю идею карандашом в тетрадке, а на следующий день уже оформляю в код.

solovey ★★
()

Псевдокод в данном случае — пустая трата времени сперва на написание, потом на распарсивание и трасляцию в реальный код. Я или набрасываю интерфейс (несуществующая или нереализованная функция/метод, как писали аноны), или пишу комментарий

//TODO: ...

staseg ★★★★★
()

Я предпочитаю записать алгоритм, а не городить псевдокод на несвежую голову, а потом сразу написать по-нормальному.

Policeman
()
Ответ на: комментарий от blackst0ne

Что за чмошность - писать в комментариях то, что будет продублировано в коде?

В комментариях надо писать о том, «почему?» и «зачем?» что-то делается, а не «как?».

anonymous
()
Ответ на: комментарий от anonymous


Что за чмошность - писать в комментариях то, что будет продублировано в коде?

В комментариях надо писать о том, «почему?» и «зачем?» что-то делается, а не «как?».


Речь в посте идёт про «вечер», «наскоряк» и «чтоб не забыть».
Разумеется, данные комменты будут заменены на код и нормальные комментарии.

blackst0ne ★★★★★
()

Как правило, что-то си-подобное, только без большинства скобок и знаков препинания. Только отступы. Ну и иногда великий могучий русский мат появляется

l0stparadise ★★★★★
()
Ответ на: комментарий от Aceler

у нас на лекциях псевдокод был очень похож на паскаль

Aswed ★★★★★
()
Ответ на: комментарий от blackst0ne

А почему тогда это «комментарии»?

anonymous
()

что-то в этом есть. Иногда еще используется декларативный подход. Для черновых выкладок использую org-mode, когда есть время.

Если участок кода комментируется^W нуждается в комментарии - это как правило кандидат на отдельный метод/функцию/процедуру.

Обычно при интеграции много кода выбрасывается - остается рабочее решение...

swwwfactory ★★
()

каждый раз по разному, какого-то единого стандарта не выработал.

бывает пишу подобные диаграмки

       if something
       /       \ 
     true      false 
     /           \
   збс         паникуем

так же можно «типа» проектировать бд


|table:    user  |      
|id:       int   |      |table:    group |
|group_id  int   |----->|group_id: int   |
|login:    string|      |role:     string|
|password: string|

ну и так далее

umren ★★★★★
()
Последнее исправление: umren (всего исправлений: 1)
Ответ на: комментарий от anonymous

Псевдокод редко нужен. В большинстве случаев можно просто использовать несуществующие функции.

Анон дело говорит. А если не знаешь что писать, то просто открываешь канал подсознания в текущий файл. После получения EOM (EndOfMind) выполнить M-x comment-box.

zekka
()

в python есть встроенный псевдокод, называется python.

в tcl есть встроенный псевдокод, называется tcl.

остальное нугуглишь)

MyTrooName ★★★★★
()
Ответ на: комментарий от buddhist

Точно звал? А вообще иногда припрет что-то спросить и приходится регистрироваться. Ну а после такой соблазн сделать тему «какой lisp выбрать новичку», что не могу ничего с собой поделать.

Вообще я на рулин стал ходить, там общение куда лучше идет

vonenij
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.