Как часто вы используете псевдокод в реальном мире?

голоса
9

Еще в колледже, только использование псевдо-коде было евангелизировало более ООП в моей учебной программе. Так же, как комментирование (и другие проповедовали «лучшие практики»), я обнаружил, что в решающий момент psuedocode часто пренебрегают. Так что мой вопрос ... кто на самом деле использует это много времени? Или вы только использовать его, когда алгоритм действительно трудно полностью осмыслять в вашей голове? Я заинтересован в ответах, полученных от всех: мокрых за-ушей младших разработчиков проседи ветеринаров, которые были вокруг в те дни перфокартных.

Что касается меня лично, я в основном только использовать его для сложной вещи.

Задан 11/12/2008 в 19:53
источник пользователем
На других языках...                            


14 ответов

голоса
5

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

Ответил 11/12/2008 в 19:58
источник пользователем

голоса
15

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

Работая с командой на различных платформах (Java фронтальными с COBOL бэкэндом, в данном случае) это гораздо проще объяснить, как часть кода работает с помощью псевдокода, чем это, чтобы показать реальный код.

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

Ответил 11/12/2008 в 19:59
источник пользователем

голоса
1

Главным образом использовать его для Nutting из очень сложного кода, или при объяснении кода либо других разработчиков или атеистических разработчикам, которые понимают систему.

Я также течь диаграммы или диаграммы типа UML при попытке сделать выше, также ...

Ответил 11/12/2008 в 20:00
источник пользователем

голоса
1

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

Таким образом, мне не нужно, чтобы вернуться и документировать его, так как его уже было сделано.

Ответил 11/12/2008 в 20:02
источник пользователем

голоса
1

Довольно редко, хотя я часто описываю метод, прежде чем писать тело его.

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

Ответил 11/12/2008 в 20:02
источник пользователем

голоса
5

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

Ответил 11/12/2008 в 20:02
источник пользователем

голоса
1

Я не использую псевдокод вообще. Я более комфортно с синтаксисом языков типа C, чем я с псевдокодом.

То, что я делать довольно часто для целей проектирования, по существу, функциональный стиль разложения кодирования.

public void doBigJob( params )
{
    doTask1( params);
    doTask2( params);
    doTask3( params);
}
private void doTask1( params)
{
    doSubTask1_1(params);
    ...
}

Который, в идеальном мире, в конечном счете превратится в рабочий код, как методы становятся все более и более тривиальным. Однако в реальной жизни, есть чертовски много рефакторинга и переосмысление дизайна.

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

Ответил 11/12/2008 в 20:03
источник пользователем

голоса
2

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

procedure GetTextFromValidIndex (input int indexValue, output string textValue)
// initialize
// check to see if indexValue is within the acceptable range
//    get min, max from db
//    if indexValuenot between min and max
//       then return with an error
// find corresponding text in db based on indexValue
// return textValue
   return "Not Written";
end procedure;
Ответил 11/12/2008 в 20:05
источник пользователем

голоса
2

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

Тем не менее, время от времени я должен был написать псевдокод после написания кода, который обычно происходит , когда я пытаюсь описать реализацию высокого уровня программы , чтобы заставить кого - то до скорости с новым кодом в коротком промежутке времени. И «осуществление на высоком уровне», я имею в виду одна линия псевдокод описывает 50 или около линии C #, например:

Дампы кучу файлов XML в папку и запускает process.exe
  исполняемый файл с несколькими параметрами командной строки.

Process.exe читает каждый файл
    Каждый файл построчно чтение
    Уникальные слова вырываются из файла, хранящегося в базе данных
    Файл будет удален, если его завершения обработки

Такого рода псевдокоде достаточно хорошо, чтобы описать примерно 1000 строк кода, и достаточно, чтобы точно сообщить новичку, что программа действительно делает хорошо.

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

Ответил 11/12/2008 в 20:11
источник пользователем

голоса
1

Я никогда не использую или использовал его.

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

Ответил 11/12/2008 в 20:14
источник пользователем

голоса
3

Я и другие разработчики на моей команде использовать это все время. В электронной почты, доски, или просто в confersation. Psuedocode это учил, чтобы помочь вам думать, как вам нужно, чтобы иметь возможность программировать. Если вы действительно unstand psuedocode вы можете поймать на почти любом язык программирования, потому что основное различие между ними всеми этим синтаксисом.

Ответил 11/12/2008 в 20:18
источник пользователем

голоса
2

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

Я использую его изрядный на StackOverflow.

Ответил 11/12/2008 в 20:22
источник пользователем

голоса
2

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

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

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

Ответил 11/12/2008 в 20:52
источник пользователем

голоса
2

Макконнелл в Совершенный код , в главе 9, «псевдокоде Процесс программирования» предлагает интересный подход: при написании функции больше , чем несколько строк, используйте простой псевдокод (в виде комментариев) в общих чертах , что функция / процедура должна сделать , прежде чем писать фактический код , который делает это. Комментарии псевдокода могут затем стать фактическими комментариями в теле функции.

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

PS: Некоторые люди могут утверждать , что «вы не должны комментировать то, что, но почему, и только тогда , когда это не тривиально , чтобы понять для читателя , который знает язык в вопросе лучше , чем вы» . Я вообще согласен с этим, но я сделать исключение для PPP. Критерии наличия и форму комментария не должны быть установлены в камне, но в конечном счете , определяются мудрым, хорошо продуманным применением здравого смысла в любом случае. Если вы обнаружили отказ попробовать слегка согнуты к субъективному «правилу» только ради этого, возможно , потребуется сделать шаг назад и понять , если вы не сталкиваетесь с его достаточно критически.

Ответил 31/08/2011 в 03:33
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more