|
|
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Имею 2.5 года опыта работы на Delphi + Firebird + DevExpress + FastReport. С некоторого времени стал замечать за собой, что на написание простых конструкци кода, таких как например, обработчик установление enabled=true/false для 5-6 кнопок (или другие проверки) у меня уходит относительно много времени, которое можно было бы потратить на более сложные участки программы. Причём, чуть позже приходит мысль о том, что данные проверки можно было бы реализовать намного проще, потратив существенно меньше времени на них. Таким образом, применение простых алгоритмов приводит к повышении надёжности программы в целом, и у меньшении времени разработки. Но вот тут скрывается основная проблема - каким образом писать сложные программы простыми, явными алгоритмами? Подскажите пожалуйста из своего опыта, на что стоит обратить внимание, какие типовые методики существуют? Если есть литература на эту тему, поделитесь пожалуйста ссылочкой на неё) Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2012, 23:28 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Ну, активно осваивать классы/множества, например... Ибо функционал GUI к алгоритмам имеет отношение, как балет к роялю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 03:55 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147, TActionList ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 08:10 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147 Причём, чуть позже приходит мысль о том, что данные проверки можно было бы реализовать намного проще, потратив существенно меньше времени на них. Таким образом, применение простых алгоритмов приводит к повышении надёжности программы в целом, и у меньшении времени разработки. Но вот тут скрывается основная проблема - каким образом писать сложные программы простыми, явными алгоритмами? Подскажите пожалуйста из своего опыта, на что стоит обратить внимание, какие типовые методики существуют? Если есть литература на эту тему, поделитесь пожалуйста ссылочкой на неё) 1) Шаблонные задачи следует по умолчанию решать шаблонным способом (вплоть до "взять прошлое решение, copy-paste, заменить имена"). 2) Шаблонные задачи, по всей видимости, уже кто-то решил до меня обобщённым образом (найти решение, подставить в него свои параметры). 3) (Р. Гласс) Самостоятельное создание общего решения требует примерно в три раза больше ресурсов, нежели решение ad hoc. Окупаться, соответственно, эти усилия начнут с четвёртого применения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 10:25 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Кода должно быть мало. Так и разработка быстрее, и глюков меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 10:29 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147 Но вот тут скрывается основная проблема - каким образом писать сложные программы простыми, явными алгоритмами? Однозначно нужно переходить на ультракороткий язык RS. Или Go. Если на языке нельзя написать шахматы в 15 строк - это не язык, а фигня полная. А еще залог успеха - сверхбыстрая СУБД. Рекомендую FVMAs, или Стебелек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 10:39 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Yep, TActionList and State machine ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 10:44 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147 Но вот тут скрывается основная проблема - каким образом писать сложные программы простыми, явными алгоритмами? Разработка сложных систем идет одновременоо сверху-вниз и снизу-вверх. Сверху-вниз описывается логика поведения. Снизу-вверх разрабатываются примитивы, описывающие предметную область и технологические. Два эти потока втречаются и система готова :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 11:00 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
ТелепузикоЕсли на языке нельзя написать шахматы в 15 строк - это не язык, а фигня полная. Алан Кёртис и Чарльз Мур, пожалуй, с Вами бы согласились :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 14:28 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Телепузико, Баз привед! А почему не в костюме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 17:37 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147 Но вот тут скрывается основная проблема - каким образом писать сложные программы простыми, явными алгоритмами? Это, собственно, и называется искусством программирования. С литературой в этом направлении, к сожалению, действительно полный швах: книги для начинающих полны ответами на вопрос "как бросать кнопки на форму", книги для продвинутых посвящены вопросам "как проектировать амазон", а книг "как хорошо думать", "как хорошо кодировать" итп практически нет (а какие есть - больше общефилософские, чем наборы рецептов). Скажем, про такую дико полезную вещь как таблицы решений, я в своё время узнал из замечательной книги 1970-го года издания - а кто их сейчас читает? Так что ответ - с одной стороны, повышать свою эрудицию, расширять спектр знакомых возможностей и решений, с другой - думать над решениями проблем, находить идеологичные и удачные и постепенно улучшать их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 19:21 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147Имею 2.5 года опыта работы на Delphi + Firebird + DevExpress + FastReport. С некоторого времени стал замечать за собой, что на написание простых конструкци кода, таких как например, обработчик установление enabled=true/false для 5-6 кнопок (или другие проверки) у меня уходит относительно много времени, которое можно было бы потратить на более сложные участки программы.Возможно ты "перерос" Delphi + Firebird? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 19:27 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
по сабжу: опыт. и по поему опыту, делфи в этот список не входит в числе первых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 20:15 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147...стал замечать за собой, что на написание простых конструкци кода, таких как например, обработчик установление enabled=true/false для 5-6 кнопок... Положите их на панель и скажите энаблед панели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2012, 23:47 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147, Так не получится. Или кидайте кнопки на форму, или думайте каждый раз над одним и тем-же кодом в разных задачах. Лень, и как следствие, желание сделать универсальный алгоритм ведет к чудовищным последствиям. Во всем, включая собственное развитие и мироощущение. Программистом надо быть по призванию. Сорри за громкие слова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2012, 00:17 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
asws...Программистом надо быть по призванию. Сорри за громкие слова. По Y-хромосоме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2012, 01:13 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
хотя-б несколько сотен пар азов - и то хорошо для начала, лишь-бы созидать, а не думать над тем как оптимизировать, имея за плечами 2,5 проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2012, 01:23 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Все уже украдено до нас: http://ru.wikipedia.org/wiki/Design_Patterns ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2012, 01:28 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
maytonСаша147Имею 2.5 года опыта работы на Delphi + Firebird + DevExpress + FastReport. С некоторого времени стал замечать за собой, что на написание простых конструкци кода, таких как например, обработчик установление enabled=true/false для 5-6 кнопок (или другие проверки) у меня уходит относительно много времени, которое можно было бы потратить на более сложные участки программы.Возможно ты "перерос" Delphi + Firebird? В каком смысле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2012, 00:37 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
aswsСаша147, Так не получится. Или кидайте кнопки на форму, или думайте каждый раз над одним и тем-же кодом в разных задачах. Лень, и как следствие, желание сделать универсальный алгоритм ведет к чудовищным последствиям. Во всем, включая собственное развитие и мироощущение. Программистом надо быть по призванию. Сорри за громкие слова. А какова крайняя степень универсальности? Допустим, если есть какая-нибудь процедура, выполняющаяся для трёх схожих случаев, но различающаяся разным набором параметров. Если кол-во таких параметров, на основании значений которых происходит выбор ветки алгоритма больше 4-х, то стоит разделять эту процедуру, например на 2 для наиболее подходящих случаев? В чём по-вашему критерий такого призвания? Ведь всему надо учиться) Нельзя создать что-то серьёзное и стоящее без соответствующей подготовки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2012, 00:47 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Саша147А какова крайняя степень универсальности?когда поддержка универсальности становится дороже, чем поддержка эксклюзивных решений. Саша147Допустим, если есть какая-нибудь процедура, выполняющаяся для трёх схожих случаев, но различающаяся разным набором параметров.шаблонизируй метод, находи общий случай и выделяй в обобщённый метод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2012, 01:33 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Abstraction3) (Р. Гласс) Самостоятельное создание общего решения требует примерно в три раза больше ресурсов, нежели решение ad hoc. Окупаться, соответственно, эти усилия начнут с четвёртого применения.+1 И вообще, есть правило 20/80 . Которое к данному случаю можно формулировать как "на 20% проекта уходит 80% времени". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2012, 09:31 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Пишите больше осмысленных комментариев к своему коду: 1 строчка комментария на 5 строк кода. Через некоторое время начнёте замечать, что код становится более упорядоченным и удобочитаемым. Вырабатывайте собственный стиль, нацеленный на простоту разработки. Если у самого не получается, найдите у кого его можно позаимствовать:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 10:01 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
SergeyFirstПишите больше осмысленных комментариев к своему коду: 1 строчка комментария на 5 строк кода. Через некоторое время начнёте замечать, что код становится более упорядоченным и удобочитаемым. И что коментировать? Код: plaintext 1. 2. 3. 4. 5. Не программа, а практический курс английского для 1С-ников =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 10:15 |
|
||
|
Каким образом писать сложные многофункциональные программы простыми простыми алгоритмами?
|
|||
|---|---|---|---|
|
#18+
Хотя с этой точки зрения правильно. Если человек в уме код переводит на русский, то периодические коментарии избавят его от лишней нагрузки на мозг при прокручивании кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 10:20 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37741994&tid=1342223]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 555ms |

| 0 / 0 |
