Как я могу начать разрабатывать свою программу на бумаге без по техническим вещам? [закрытый]

Можете Вы не делать document.getElementById('newElementId'); и видеть, возвращает ли это true. В противном случае как Вы говорят, ожидают 100 мс и попробовали еще раз?

11
задан Sergio Tapia 27 October 2009 в 23:13
поделиться

12 ответов

Обычно я стараюсь разделить проблему на два разных вопроса:

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

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

Чтобы установить эти:

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

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

6
ответ дан 3 December 2019 в 08:30
поделиться

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

0
ответ дан 3 December 2019 в 08:30
поделиться

I am a big fan of using SketchFlow to create wireframes and mock ups which really helps the over all design process of web/desktop apps. You can see it and touch it and prove that your ideas will actually work. I also like the mind-mapping (MindMeister) mentioned else where. Lately I try to avoid BDUF (big design up front) specifications these days!

0
ответ дан 3 December 2019 в 08:30
поделиться

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

, поэтому все, что вам нужно сделать, должно соответствовать цели. отпустить и доставить.

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

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

Наконец,

0
ответ дан 3 December 2019 в 08:30
поделиться

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

0
ответ дан 3 December 2019 в 08:30
поделиться

This is the order of how I do things:

1) Write a pseudocode in pencil. This where you can brainstorm ideas with yourself and others if necessary.

2)Write the algorithm outlining the objectives and how you will go about accomplishing those objectives.

3)If the project is small, simple and clear to you, you can ommit this step. Else, draw up a flow chart of th application.

4)Lastly, Start coding using your algorithm and flow chart as your guide.

0
ответ дан 3 December 2019 в 08:30
поделиться

Нет ничего лучше мини-блокнота в кармане пиджака, чтобы думать как можно скорее, я лично переключаюсь между mini-UML и точками. Быстро, просто, всегда под рукой.

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

1
ответ дан 3 December 2019 в 08:30
поделиться

TkInter обычно поставляется с Python

# File: hello1.py

from Tkinter import *

root = Tk()

w = Label(root, text="Hello, world!")
w.pack()

root.mainloop()

. Если вы хотите что-то более естественное, вам нужно установить что-то вроде wxpython

from PyZenity import InfoMessage
InfoMessage('Stuff')

Я тестировал PyZenity как в Ubuntu, так и в Windows XP, и он работает в обоих.

Zenity looks pretty good in Gnome Zenity looks good in KDE, too, suprisingly Zenity in Windows has the wrong GTK theme

Я читал, что Zenity - это только GTK +, но я пробовал его в Gnome и KDE, и он выглядит нативно в обоих. Однако порт в Windows не выглядит родным, поскольку в нем используется неправильная тема GTK?

Существуют также другие программы, такие как KDialog и Xdialog , которые могут быть связаны с аналогичным Веб-интерфейс Python, который может проверять и видеть, какие исполняемые файлы доступны, чтобы автоматически обо всем позаботиться? (Для KDialog также существует внешний интерфейс Ruby.)

Я также не знаю, работает ли PyZenity под OS X.

Однако порт в Windows не выглядит родным, поскольку в нем используется неправильная тема GTK?

Существуют также другие программы, такие как KDialog и Xdialog , которые могут быть связаны с аналогичным Веб-интерфейс Python, который может проверять и видеть, какие исполняемые файлы доступны, чтобы автоматически обо всем позаботиться? (Для KDialog также существует внешний интерфейс Ruby.)

Я также не знаю, работает ли PyZenity под OS X.

Однако порт в Windows не выглядит родным, поскольку в нем используется неправильная тема GTK?

Существуют также другие программы, такие как KDialog и Xdialog , которые могут быть связаны с аналогичным Веб-интерфейс Python, который может проверять и видеть, какие исполняемые файлы доступны, чтобы автоматически обо всем позаботиться? (Для KDialog также существует внешний интерфейс Ruby.)

Я также не знаю, работает ли PyZenity под OS X.

Это может помочь мне прояснить мою идею и подтвердить мой дизайн.

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

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

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

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

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

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

2
ответ дан 3 December 2019 в 08:30
поделиться

Для такого рода вещей я обычно набрасываю базовые UI, рисую (коробки на бумаге) модель предметной области и схему базы данных. Я всегда начинаю с бумаги, а затем, если чувствую, что это необходимо, экспортирую в visio / basalmiq.

3
ответ дан 3 December 2019 в 08:30
поделиться

It is largely depends on number of things and the most important one is what are you making.

1) The first step to me is to declare what are you making. Sound, simple? sometime is not. List down what you want the program to do. List what is the must-have, what is nice-to-have and what is ok-to-have (not much trouble to include).

2) The second step is to (at your best) identify what is the weakest link for the success of your project. If you are writing WebDB, what you should worry is web UI (transition from a page to another) and data model. If you are writing game, the rules of the game will be important. Or if the game is highly interfactive, then you should think of the interaction the flow of the game.

What you identified here is what you should spend time design it on paper.

Since identifying that will likely to require experience and you may not have (if you do, you will already know what to do, right :-D), you may come back to review it once in a while as project progress.

3) To avoid over-engineering, focus on modeling for understanding as oppose to modeling as documenting.

4) Once you understand more, try to create a small program to check if it is possible. If you, identify other critical but risky part.

5) Start small but always think about extension. To me, it is OK to think big but it is risky to do big.

Those are what I do. Hope it will give you some idea. :-D

1
ответ дан 3 December 2019 в 08:30
поделиться

Некоторые из моих «уловок»:

  • Сначала я использую отображение разума (например, MindMeister).

  • Затем я нахожу вероятные «трудные места» и делаю легкое прототипирование

0
ответ дан 3 December 2019 в 08:30
поделиться

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

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

И я бы сосредоточился в первую очередь на поведении, а в последнюю - на данных. См. Записи Ребекки Вирфс-Брок.

Желаем удачи! Марк

1
ответ дан 3 December 2019 в 08:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: