Как PDL используется в реальном программировании?

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

Мне было интересно, действительно ли кто-нибудь делал это в реальной жизни? Кроме того, в нем говорится, что каждую строку PDL в коде следует оставлять в виде комментариев. Неужто это слишком многословный комментарий?

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

Конечно, если вы сначала напишете каждую процедуру / метод / что угодно в псевдокоде, вы в конечном итоге потратите много времени?


person Adam Taylor    schedule 27.01.2009    source источник


Ответы (5)


Конечно, если вы сначала напишете каждую процедуру / метод / что угодно в псевдокоде, вы в конечном итоге потратите много времени?

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

Вам не нужно полностью писать каждую процедуру - только ключевые шаги, чтобы дать вам достаточно мысленную карту того, что будет делать каждая часть, и запланировали ли вы все, что вам нужно.


Я никогда не слышал конкретно о PDL (Program Design Language?) и - посмотрев на него - он действительно кажется многословным, уродливым и слишком трудоемким, и я бы не рекомендовал его использовать - придерживайтесь краткого, но читаемого псевдокода.

person Peter Boughton    schedule 27.01.2009

Я использовал его в 80-е годы, когда работал в защите. PDL - это излишек для проекта выходного дня программиста-одиночки, состоящего из 1-1000 строк кода. Но если вы разрабатываете систему кода из 10 000–100 000 строк с командой из дюжины инженеров-программистов, это отлично подходит для определения предварительных проектов программного обеспечения в методологии водопада. Кроме того, он был разработан в соответствии с требованиями разработки программного обеспечения MIL-STD.

person bbyard    schedule 26.05.2016

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

Многие люди жаловались на это, но это навык, который я получил от него, я использую большую часть времени при разработке программного обеспечения. Когда я пишу код, рядом со мной всегда есть блокнот и ручка! :)

person Community    schedule 01.06.2009

Да. Однако я не осознавал, что это называется PDL, пока не прочитал книгу. Я назвал это псевдокодом. Разница между псевдокодом и PDL невелика - PDL избегает использования конструкций целевого языка, что на практике не имеет большого значения.

Я начинаю с PDL, если процедура менее тривиальна.

Кстати, МакКоннелл использует словесный псевдокод вместо PDL во втором издании Code Complete.

person buti-oxa    schedule 02.10.2009

Написание вещей в псевдокоде очень полезно, и вы получите уже написанную документацию ;-). Это отделит ваши намерения от вашей реализации, что во многих случаях является оптимизированным взломом, специфичным для вашего языка или среды. Сопровождающие в будущем или люди, реорганизующие ваш код или переводящие на другие языки, будут вам очень благодарны, если вы сохраните этот псевдокод в документации. Я никогда не называл PDL, потому что PDL в Perl означает Perl Data Language, очень полезный пакет для работы с большими наборами данных в виде векторов или матриц, как в R.

person Pablo Marin-Garcia    schedule 14.12.2010