|
|
|
Проектирование: Возможно ли программирование без отладки? | ☑ | ||
|---|---|---|---|---|
|
0
Волшебник
модератор
15.03.07
✎
11:00
|
Как вы считаете, возможно ли программировать без ошибок, без необходимости отладки (т.е. поиска ошибок)? Что для этого нужно? Хороший проект? Какая нужна организация работ? Конфигурационное управление? Что говорит сегодняшняя наука по этому поводу? Какие есть методы борьбы со сложностью, минимизации программ?
|
|||
|
1
kazam
15.03.07
✎
11:00
|
(2) калькулятор со второго раза можно
|
|||
|
2
Профессор Выбегалло
15.03.07
✎
11:00
|
Нет
|
|||
|
3
Vozhd
15.03.07
✎
11:01
|
(0) Можно и нужно! Наука не против...
|
|||
|
4
кто там
15.03.07
✎
11:01
|
а почему вообще такой вопрос встал?
|
|||
|
5
Волшебник
модератор
15.03.07
✎
11:01
|
Структурный подход снижает количество ошибок в алгоритмах и программах. Однако и при этом подходе число ошибок также заранее неизвестно. Хотя структурная форма записи и упрощает поиск и исправление ошибок в текстах программ, гарантии отсутствия ошибок структурный подход не дает.
Безошибочное программирование - это составление алгоритмов и программ с гарантиями отсутствия в них ошибок. А составление алгоритмов и программ с одновременным доказательством правильности называется доказательным программированием. И в том и другом подходе необходимо составление формальных (!) спецификаций. |
|||
|
6
France
15.03.07
✎
11:02
|
без отладчика можно.
без отладки навряд ли. |
|||
|
7
Волшебник
модератор
15.03.07
✎
11:02
|
(4) Хочется программировать без ошибок. Что для этого нужно?
|
|||
|
8
Guk
15.03.07
✎
11:03
|
(0) Если работать только с помощью волшебников, то ошибки исключены. Так что, отладчик это пережиток прошлого...
|
|||
|
9
alexsy
15.03.07
✎
11:03
|
(7) утопия
|
|||
|
10
Иде я
15.03.07
✎
11:03
|
сроки увеличиваются на порядок, цена тоже
|
|||
|
11
кто там
15.03.07
✎
11:03
|
имхо программирование без отладки - это собирать конструктор вслепую... можно, но далеко не каждый сможет
|
|||
|
12
Волшебник
модератор
15.03.07
✎
11:03
|
(10) Это неважно. Вопрос теоретический, даже философский.
|
|||
|
13
Drx211
15.03.07
✎
11:03
|
Нет, разве что - элементарные алгоритмы, а если появляется много неизвестных и зависимостей между ними, удержать их все в памяти или предвидеть изменение в динамике, с помощью спецификаций, вряд-ли получится.
|
|||
|
14
Sonic
15.03.07
✎
11:03
|
(0)а почему не опрос?
|
|||
|
15
Ангел- Хоронитель
15.03.07
✎
11:04
|
(0)что нужно? быть богом, и тот вон с людьми накосячил :)
ракеты в космос запуская, учитывают ошибки и правят их в следующих проектах, а ты про программирование.... |
|||
|
16
kazam
15.03.07
✎
11:04
|
(7) ты уже слишком стар и привык программировать с ошибками.
тебя не переучишь |
|||
|
18
Волшебник
модератор
15.03.07
✎
11:04
|
(13) Как поставить работу, чтобы не требовалось удерживать всё в памяти?
|
|||
|
19
КапЛей
15.03.07
✎
11:05
|
возможно. ведь с годами приходит опыт и когда наступаешь на грабли, они от удара об лоб ломаются как спички.
|
|||
|
20
Vozhd
15.03.07
✎
11:05
|
(7) Для этого нужно всего лишь думать...
|
|||
|
21
Drx211
15.03.07
✎
11:05
|
Нет уверенности даже в среде, ты не можешь быть уверен в том что данный метод выдаст то, что ожидаешь.
|
|||
|
22
Vozhd
15.03.07
✎
11:05
|
(19) Интересная формулировка для непробиваемой тупости...
|
|||
|
23
kazam
15.03.07
✎
11:05
|
(18) перестать программировать вообще
|
|||
|
24
Vozhd
15.03.07
✎
11:05
|
(21) Пишите программы, которые не зависят от среды...
|
|||
|
25
Торин
15.03.07
✎
11:06
|
Humanum errare est - человеку свойственно ошибаться.
Всегда останутся ошибки вызванные именно этой печальной особенностью человека... |
|||
|
26
Волшебник
модератор
15.03.07
✎
11:06
|
(21) Допустим, что среда работает правильно. Речь идёт о наших собственных ошибках, т.е. в наших программах.
|
|||
|
27
Скользящий
15.03.07
✎
11:06
|
При создании чего либо, есть 2 этапа. Проектирование, и реализация. Если половину сил и времени угрохать на проектирование программы, то реализация будет уже практически без ошибок. Аналогия со строительством дома. если ошибки на стадии проекта, то потом фундамент перемещать, стены ломать, крышу перебирать и т.д, что удорожает строительство раз 10. А если на стадии проекта все обдумали хорошо, то дом строится ровно на ту сумму, на которую планировали.
|
|||
|
28
Drx211
15.03.07
✎
11:06
|
(24) А такие бывают?
|
|||
|
29
Sonic
15.03.07
✎
11:06
|
писал с нуля конфу на 8ке. ну как бы написал, началась отладка уже в процессе внедрения, вот тут было самое интересное - данные я не имел права видеть, шеф звонит, говорит что за ошибка, я сам вбивал свои данные пытался ее сэмулировать. в итоге написал, года два уже без проблемм крутится
|
|||
|
30
Иде я
15.03.07
✎
11:06
|
Для этого нужно
1. Опыт 2. Идеальную память - помнить все синтаксисы и тп 3. Перестать быть человеком. |
|||
|
31
Скользящий
15.03.07
✎
11:06
|
+(27) Любая аналогия условна.
|
|||
|
32
Волшебник
модератор
15.03.07
✎
11:06
|
(23) Ты почти угадал. Чем меньше программа по размеру, тем меньше в ней ошибок.
|
|||
|
33
Профессор Выбегалло
15.03.07
✎
11:07
|
Невозможно писать без ошибок. Возможно ~80% выявить при тестировании.
|
|||
|
34
Vozhd
15.03.07
✎
11:07
|
(28) Функционально программирование как раз для таких случаев и создавалось...
|
|||
|
35
Волшебник
модератор
15.03.07
✎
11:07
|
(30) Зачем нужна память, если есть базы данных?
|
|||
|
36
Vozhd
15.03.07
✎
11:07
|
(32) Неа...
|
|||
|
37
Профессор Выбегалло
15.03.07
✎
11:07
|
(32) В программе hello world, возможно, нет ошибок.
|
|||
|
38
Vozhd
15.03.07
✎
11:08
|
(37) Ошибка в самой целе написания данной программы...
|
|||
|
39
Drx211
15.03.07
✎
11:08
|
(34) А оно происходит не в какой либо среде?
(30) Если БД интегрировать с мозгом, то да, иначе оперативность не та. |
|||
|
40
Волшебник
модератор
15.03.07
✎
11:08
|
(37) Т.е. при написании элементарных программ ошибок практически не бывает. Значит надо свести большую программу к элементарным.
|
|||
|
41
Эльниньо
15.03.07
✎
11:09
|
В процентах времени, имхо:
Написание - 30% Тестирование, отладка, доработка - 70% |
|||
|
42
kazam
15.03.07
✎
11:09
|
Волшебник, ты совсем сошел с ума.
Золото из свинца делать не хочь? |
|||
|
43
Иде я
15.03.07
✎
11:09
|
(35) Надо помнить весь синтаксис, чтобы знать какую конструкцию оптимальней применить...
|
|||
|
44
Drx211
15.03.07
✎
11:09
|
(40) И появятся ошибки во взаимодействии этих элементарных
|
|||
|
45
КапЛей
15.03.07
✎
11:09
|
в далеком 95-м году один знакомый говорил, что правильно работающая программа всегда содержит четное количество ошибок.
|
|||
|
46
Волшебник
модератор
15.03.07
✎
11:09
|
(42) Золото из свинца уже научились делать.
|
|||
|
47
Волшебник
модератор
15.03.07
✎
11:09
|
(44) Как их не допустить?
|
|||
|
48
Vozhd
15.03.07
✎
11:10
|
(39) Не могли бы Вы уточнить, что такое "среда" для Вас?
|
|||
|
49
Господин ПЖ
15.03.07
✎
11:10
|
(12) Как раз это чаще всего важно. Никому не нужен софт без ошибок через 10 лет. Каждая сложная программа содержит какой-то процент невыявленных ошибок - просто важно насколько они критичны. П.э. (0) - это утопия.
|
|||
|
50
Волшебник
модератор
15.03.07
✎
11:10
|
(43) Есть синтакс-помощник. Перед нажатием на любую клавишу в редакторе модулей, загляни туда.
|
|||
|
51
Drx211
15.03.07
✎
11:10
|
(47) Идеальное проектирование, которое как и все идеальное не может существовать.
|
|||
|
52
Иде я
15.03.07
✎
11:11
|
Предположим погрешность элементарной программы 0.01 копейка, Если считаем до копеек - ошибок нету. А теперь делаем комплекс из тысяч элементарных программ - и полезут ошибки. Они, как правило, имеют свойство накапливаться.
|
|||
|
53
kazam
15.03.07
✎
11:11
|
(46) вряд ли.
Много стран были бы против, учитывая значения золотого запаса |
|||
|
54
Vozhd
15.03.07
✎
11:11
|
(47) Что Вы делаете, чтобы ходить и не падать? Почему так же не подойти к написанию программ?
|
|||
|
55
Волшебник
модератор
15.03.07
✎
11:12
|
(49) Софт без ошибок легче развивать. Периодический рефакторинг кода может привести к "вечно живым" программам. Рефакторинг заключается в написании новой программы с сохранением функциональности и добавлением новой. Конечно, при этом опять не должно быть ошибок.
|
|||
|
56
Drx211
15.03.07
✎
11:12
|
(48) В том то и дело, что средой может быть все, от среды исполнения(включая железо, которое тоже не безгрешно) до внешней среды, с которой будет взаимодействовать программа.
|
|||
|
57
Shurjk
15.03.07
✎
11:12
|
(0) Наука говорит о том что тестирование это по сути бесконечный процесс, отладка в свою очередь является тестированием программы с использованием методов белого ящика, и чем ниже степень тестирования тем меньше вероятность того что программа будет работать безошибочно. То есть если поступиться качеством то можно обойтись и без этого..
|
|||
|
58
Vozhd
15.03.07
✎
11:13
|
(55) А кому нужны мертвые программы?
|
|||
|
59
Волшебник
модератор
15.03.07
✎
11:13
|
(52) Как организовать этот комплекс из тысяч элементарных программ, чтобы гарантировать отсутствие ошибок в нём, подразумевая, что в каждой элементарной программе ошибок нет?
|
|||
|
60
Скользящий
15.03.07
✎
11:13
|
(53) Чувак, золото из свинца уже давно делают. Просто оно дороже натурального в 1000 раз.
|
|||
|
61
Vozhd
15.03.07
✎
11:13
|
(56) Программа как раз и пишется для взаимодействия с внешней средой. А вот от внутренней среды (от самой программы) надо отвязываться...
|
|||
|
62
Vozhd
15.03.07
✎
11:14
|
(59) Зайдите в книжный магазин, книг на эту тему сотни...
|
|||
|
63
povar
15.03.07
✎
11:14
|
(59) смотря, что понимать под ошибкой
|
|||
|
64
Волшебник
модератор
15.03.07
✎
11:14
|
(57) Тестирование и отладка - разные вещи. Тестирование - это поиск ошибок/несоответствий, отладка - поиск причины (места в программе) конкретной ошибки.
|
|||
|
65
Drx211
15.03.07
✎
11:14
|
(61)Элементарный нюк - это непредвиденное поведение внешней среды.
|
|||
|
66
kazam
15.03.07
✎
11:14
|
(55) "вечно живой"программой должен заниматься 1-2 человека и все
|
|||
|
67
Волшебник
модератор
15.03.07
✎
11:14
|
(62) Порекомендуй чего-нибудь
|
|||
|
68
Vozhd
15.03.07
✎
11:15
|
(63) "Ошибка - это недокументированная фича"
|
|||
|
69
Иде я
15.03.07
✎
11:15
|
(59) Никак :)
Только Бог может это сделать...Человек, как существо органическое, не способен реализовать такие проекты. Тут нужна дискретная логика, без всяких погрешностей... |
|||
|
70
zalex
15.03.07
✎
11:15
|
(0) Стас, ну от тебя не ожидал. Вроде бы на мисте же статью и видел, как-то связанно с экстремальным программированием. Смысл простой, к основной программе нужно писать прогу тестировщик, которая проверяет все и вся. Т.е. дописываешь ты в базу пару строк, то что требовалось работает, но цепляет что-то еще и косяк вылезает уже в процессе работы. А если есть тестировщик, достаточно его запустить, и все ошибки будут найдены до того как твой шедевр дойдет до пользователя. Т.е. ответ да, возможно, только вот кода становится не меньше, а наоборот гораздо больше, потому что написав 2 строчки кода в основной программе нужно дописать два десятка в тестировщике.
|
|||
|
71
Волшебник
модератор
15.03.07
✎
11:15
|
(65) Допустим внешняя среда ведёт себя предсказуемо. Я говорю именно о наших собственных ошибках.
|
|||
|
72
Vozhd
15.03.07
✎
11:16
|
(65) Предусмотрите на этапе проектирования непредвиденные изменения во внешнем окружении...
|
|||
|
73
Волшебник
модератор
15.03.07
✎
11:16
|
(70) "цепляет что-то" - ведь это можно отследить, если заранее составить полную карту всех зависимостей
|
|||
|
74
Allexe
15.03.07
✎
11:16
|
Вставлю свои пять копеек программировать без ошибок(свести их к минимуму) можно если заранее уделить повышенное внимание к планированию и проектированию проги...Но как показывает практика такой подход не приемлем. В разработке важна скорость... кривая прога но сделанная вовремя (с учетом того что потом она будет дорабатываться) будет ценится больше чем еще не сделанная но хорошо проектируемая.
|
|||
|
75
колодина
15.03.07
✎
11:16
|
думаю, можно программировать без ошибок, если заранее известны все возможные варианты работы с программой... поведения пользователей...
|
|||
|
76
Vozhd
15.03.07
✎
11:16
|
(67) Брукс, Йордан, ДеМарко хотя бы...
|
|||
|
77
Господин ПЖ
15.03.07
✎
11:16
|
(55) Не вбывает ничего вечного, особенно если требования/условия меняются... Вот Кармак идиот - написал новый движок на Дум3... И чего он просто к Вольфинштейн 3D рефакторинг не применил.
|
|||
|
78
kazam
15.03.07
✎
11:16
|
(70) глупо писать 2 програмы заместь 1ой нормальной
|
|||
|
79
avkend
15.03.07
✎
11:17
|
Билли уже вон сколько софта понаваял и до сих пор ошибки вылаваливают.
|
|||
|
80
колодина
15.03.07
✎
11:17
|
(74) это точно... хороша ложка к обеду...
|
|||
|
81
Волшебник
модератор
15.03.07
✎
11:17
|
(74) Допустим, мы не торопимся.
|
|||
|
82
Vozhd
15.03.07
✎
11:17
|
(70) XP нормально работает только для мелких поделок...
|
|||
|
83
Allexe
15.03.07
✎
11:17
|
(0) Короче - можно не выгодно
|
|||
|
84
Drx211
15.03.07
✎
11:17
|
Даже если предположить о полностью законченной методологии разработки без отладки, встает вопрос: "А стоит ли игра свеч?". Это же тупик классического проектирования, когда на само проектирование затрачиваются ресурсы в разы превышающие затраты на разработку без столь детального проектирования.
|
|||
|
85
Иде я
15.03.07
✎
11:18
|
Если программа заработала без ошибок, значит она написана неправильно...Так вроде звучит основной постулат программирования ?
|
|||
|
86
Волшебник
модератор
15.03.07
✎
11:18
|
(83) Допустим, мы говорим об открытом ПО, т.е. разработчики работают для нас бесплатно.
|
|||
|
87
Vozhd
15.03.07
✎
11:18
|
(74) Кривая прога для искуственного сердца или для управления самолетом лучше, чем прога с опозданием?
|
|||
|
88
zalex
15.03.07
✎
11:18
|
(70) Ну да о том и речь. В тестировщик забиты достаточное количество тестов, чтобы выявить все. Есть входные данные, известно что должно быть на выходе, запускает он твою прогу, передает ей входные данные, и сравнивает что она насчитала с "эталоном"
|
|||
|
89
Vozhd
15.03.07
✎
11:19
|
(86) Открытое ПО <> Бесплатно!
|
|||
|
90
andrewalexk
15.03.07
✎
11:19
|
(85)
:) "если программа запустилась с первого раза, значит в ней четное количество ошибок.."(с) |
|||
|
91
Волшебник
модератор
15.03.07
✎
11:19
|
(85) Думаю, что правильно написанная программа СРАЗУ должна работать без ошибок. Т.е. не должно быть периодических прогонов-проверок. Если написана строчка, она СРАЗУ должна работать.
|
|||
|
92
AeDen
15.03.07
✎
11:19
|
(81) А рисование всех процессов проги и отдельных, особо сложных, кусков кода на бумаге, а потом продумывание и исправление этого там-же, на бумаге - это отладка?
|
|||
|
93
TEN
15.03.07
✎
11:20
|
(10) Как только решишь (читай формализуешь процесс) - готовься к освоению новой специальности. Заодно, подумай, что делать с автоматически возникающей ненужностью человека вообще.
|
|||
|
94
Волшебник
модератор
15.03.07
✎
11:20
|
(90) Это афоризм, который мы можем опровергнуть.
|
|||
|
95
Allexe
15.03.07
✎
11:20
|
(81) (83) Ну тогда нужно больше внимания уделять проектированию и говорить о методах и средствах которые сейчас актуальны для этого.
Не выгодно имелось ввиду не в плане денег. Тут смысл такой если прога вышла раньше значит она уже к выходу второй успеет завоевать рынок. Попробуй потом объясни людям что твоя прога лучше потому что ты ее грамотно проектировал, когда первая (глючная) уже внедрена во многих процессах. |
|||
|
96
Gamm
15.03.07
✎
11:21
|
(91) Так строчка может будет работать, а вот следующие за ней могут перестать...
|
|||
|
97
AeDen
15.03.07
✎
11:21
|
(91) Понимаешь, прога-то может работать сразу, а вот результат работы предсказать иной раз очень тяжело...
"- Че пишешь? - Ща допишу, скомпилирую и узнаю..." |
|||
|
98
kazam
15.03.07
✎
11:22
|
(91) но если постановка задачи поменяеться, строчка будет работать, но результат нужен не тот.
это тоже ошибка. Как такое предвидеть? |
|||
|
99
Господин ПЖ
15.03.07
✎
11:22
|
(81) Дело за малым - найти такого же неторопливого клиента.
|
|||
|
100
Allexe
15.03.07
✎
11:22
|
(87) Ну тут все относительно. Надо правильно понимать "кривизну проги". Кривая прога не значит не работающая, а работающая при соблюдении опред правил.
Лучше такая прога для управления сердцем если она нужна срочно, чем никакая :) |
|||
|
101
Кецалькоатль
15.03.07
✎
11:23
|
(91) Теоретически верно. Можно поручить написание программ самим программам, тогда человеческих ошибок не будет.
|
|||
|
102
Волшебник
модератор
15.03.07
✎
11:23
|
(92) Исправление с целью устранения ошибок - отладка. А вот исправление с целью расширения функциональности, оптимизации допускается.
|
|||
|
103
Волшебник
модератор
15.03.07
✎
11:23
|
(101) Т.е. нам нужен компилятор с языка проектирования на язык программирования высокого уровня?
|
|||
|
104
Asmody
15.03.07
✎
11:24
|
гм..гм.. давайте начнем с определений и для начала разберемся, что мы понимаем под "ошибкой программы".
могу предложить следующую детализацию: 1. ошибки синтаксические - (тупо неправильно написал оператор) - выявляются на стадии компиляции кода. 2. ошибки времени выполнения - исключения (типа деления на 0, переполнение стека, чтение несуществующих файлов и т.п.). выявляются на стадии тестирования и/или перехватываются через try/except 3. ошибки смысловые - самые опасные. программа работает корректно, в смысле не валится, но делает не то, что надо. т.е. не соответствует ожиданиям пользователя. с какими ошибками будем бороться? |
|||
|
105
колодина
15.03.07
✎
11:24
|
если честно - больной вопрос... сама всегда думаю об этом, но пока... НИ ОДНА сложная программа сразу правильно не работала у меня... и проблема не в том, что строчка - должна правильно работать... чем сложнее логика работы системы, тем труднее ее сразу сделать - правильной...
|
|||
|
106
Волшебник
модератор
15.03.07
✎
11:24
|
(96) Значит между строчками была зависимость, которая не была учтена. Составление полной карты таких зависимостей решит эту проблему. Меняя одну строчку, ты знаешь, где это отразится ещё.
|
|||
|
107
kazam
15.03.07
✎
11:24
|
((104) с №3
|
|||
|
108
Allexe
15.03.07
✎
11:24
|
+100 Все относительно и рассматривать надо соотношение кривизна проги/длительность разработки, но опять же практика показывает что лучше хуже но быстрее.
|
|||
|
109
Кецалькоатль
15.03.07
✎
11:25
|
(103) Примерно так, нужен качественный переход к декларативному программированию. Не как программа работает, а что она должна делать.
|
|||
|
110
kazam
15.03.07
✎
11:25
|
(106) а на большее никто не способен
|
|||
|
111
Кецалькоатль
15.03.07
✎
11:26
|
(104) с 3-ми, 1 и 2 - это для программиста не ошибки
|
|||
|
112
Vozhd
15.03.07
✎
11:26
|
(104) А пользователю какая разница какую именно он ошибку поймал? Пользователю надо чтобы ошибок не было совсем...
|
|||
|
113
Волшебник
модератор
15.03.07
✎
11:27
|
(104) Со всеми.
1. Написанная строчка должна быть синтаксически-корректной. Т.е. выявление ошибки на этапе синтаксического контроля говорит уже о непрофессионализме программиста, не закрыл скобку, не заглянул в синтакс-помощник, ошибся с числом параметров. 2. Исключения - это хорошо, но только для отлавливания ошибок внешней среды. 3. С этими сложнее всего. Нужны формальные спецификации, автоматическое тестирование (но это уже поздно). Хочется не допускать такие ошибки. |
|||
|
114
Asmody
15.03.07
✎
11:27
|
(111) ну не совсем так. ошибки второго рода иногда выявить очень сложно, поскольку проявляться они могут только в очень специфических условиях.
|
|||
|
115
Скользящий
15.03.07
✎
11:27
|
Волшебник мне щас напоминает Сократа, тоже был мастер нарочито простыми вопросами ставить всех в тупик. А по сабжу, не бывает программ без ошибок. Просто потому что программа живая и меняется. И то, что в ней до этого работало нормально, впоследствии, после переделок или ещЁ каких то изменений - становится ошибкой. Посмотрите на человеческий организм. Как только клетка начинает развиваться с ошибками, она уничтожается, и выводится из организма. И старость, это когда все больше клеток с ошибками - остается существовать.
|
|||
|
116
kazam
15.03.07
✎
11:27
|
(111) легко - нужно крепко отдыхать и спокойно работать вмеру
|
|||
|
117
Vozhd
15.03.07
✎
11:27
|
(109) Этот переход был сделан еще в 1958 году, когда появился lisp...
|
|||
|
118
Asmody
15.03.07
✎
11:28
|
(113) не закрыл скобку - мама дорогая! ты, видимо, никогда не видел lisp :)
|
|||
|
119
Волшебник
модератор
15.03.07
✎
11:28
|
(115) Написание программы - это тоже её переделка. Мы берём элементарную программу и дописываем её. Потом дописываем ещё. Т.е. если мы решим проблему с безошибочными переделками, то тот же метод мы сможем применить для разработки новых программ.
|
|||
|
120
Скользящий
15.03.07
✎
11:28
|
+(115) т.е. даже природа проблему ошибок не решила, а мы хотим стать круче еЁ? :-)
|
|||
|
121
zalex
15.03.07
✎
11:29
|
(78) Не глупо, например применительно к 1С, есть у тебя в бухии объект документ, доки бывают разные, но основная структура одна и та же, есть реквизиты шапки, табличной части, на выходе есть набор проводок с известной структурой. Вторую прогу можно сделать универсальной для всех документов, вбиваешь наименование документа, наименование и значения реквизитов и что должно быть на выходе. В результате при написании нового документа тебе не нужно переписывать тестировщик, достаточно дописать в него тестовые данные для нового дока.
|
|||
|
122
Волшебник
модератор
15.03.07
✎
11:29
|
(120) Точность копирования ДНК почти 99.99999%. Точность программирования что-то около 50% (правильно или неправильно).
|
|||
|
123
Кецалькоатль
15.03.07
✎
11:30
|
(114) зато когда проявятся, могут быть исправлены без усилий
вообще при алгоритмическом подходе к программированию ошибки 2-го рода проявляться не должны, ошибки 1-го рода я считаю, обсуждению не подлежат, они не порождают неработающей (неверно работающей) программы |
|||
|
124
avkend
15.03.07
✎
11:30
|
Тупой пользователь в любой программе ошибку найдет или создаст даже в идеальной. было у нас тут два пользователя вечно к ним бегали на их ошибки смотреть, как они ушли с того отдела больше жалоб не было...
|
|||
|
126
Vozhd
15.03.07
✎
11:30
|
(120) У природы есть ошибки? Назовите хоть одну, кроме человека...
|
|||
|
127
AeDen
15.03.07
✎
11:30
|
(113) Клавиша западает, а осталось написать пять строк, в резльтате бква "" пропщена... В одном месте. Текст практически однородный, поэтому зацепить такую ошибку очень сложно даже суперпрофи. Для того и нужен синтаксис-контроль.
|
|||
|
128
kazam
15.03.07
✎
11:30
|
(119) можно прийти к тому что проще написать сначала чем дописывать.
Тогда ошибок меньше - результат качественнее |
|||
|
129
колодина
15.03.07
✎
11:30
|
помню у нас в универе был мужик один, озабоченный этим вопросом... написал спец. компилятор, который преобразовывал формальное описание алгоритма в код программы... ошибок практически конечно не было... если правильно описать алгоритм
|
|||
|
130
Allexe
15.03.07
✎
11:31
|
(112) "Пользователю надо чтобы ошибок не было совсем..." - ИМХО Это не реально. Все в мире относительно и надо рассматривать в сравнении степень ошибки/важность проги.
Вот представь ситуацию: 100 человек которым срочно нужно серце и прога для его управления Вариант 1. Кривая прога но быстро 20 человек умерли из-за ошибки программы 80 человек остались живы, в прогу внесли изменения Вариант 2. Хорошая прога но долго 60 человек не дождались и умерли 40 остались живи Все относительно |
|||
|
131
AeDen
15.03.07
✎
11:31
|
(126) Ты зачем в исключения вписал критикал эррор?
|
|||
|
132
Волшебник
модератор
15.03.07
✎
11:31
|
(127) Смотри на экран, а не клавиатуру, когда пишешь программу.
|
|||
|
133
Волшебник
модератор
15.03.07
✎
11:31
|
(129) Подробности есть?
|
|||
|
134
Vozhd
15.03.07
✎
11:31
|
(122) Программистов с такой точностью надо кастрировать, чтобы не портили генофонд...
|
|||
|
135
Волшебник
модератор
15.03.07
✎
11:32
|
(134) Может лучше дать ему какой-нибудь инструмент?
|
|||
|
136
Кецалькоатль
15.03.07
✎
11:32
|
(117) не было еще такого перехода
(129) вот про это я и говорю, могут быть ошибки качественные в алгоритме (ошибки 3-го рода), а ошибок 2-го рода не будет |
|||
|
137
Asmody
15.03.07
✎
11:32
|
(123) [могут быть исправлены без усилий] - ну, иногда большие усилия надо приложить чтобы просто повторить ситуацию, в которой ошибка проявляется.
алгоритмический подход - это здорово. но и он не спасает от переполнения стека или бесконечной рекурсии... |
|||
|
138
Кецалькоатль
15.03.07
✎
11:33
|
(137) если бесконечная рекурсия - алгоритм неправильный
|
|||
|
139
kazam
15.03.07
✎
11:33
|
(121) зачем тестить?
Забиваешь в прог-му допустмые варианты значений, остальные тупо отбрасываешь Если ... Тогда ИначеЕсли .... ИначеЕсли .... ИначеЕсли .... Иначе Сообщить("недопустимое значение " + Строка(х)); |
|||
|
140
Vozhd
15.03.07
✎
11:33
|
(130) 20 человек умерли на первом цикле исправления ошибок, 20 на втором, 20 на третьем, 20 на четвертом и вот смертность от ошибок уже превысила смертность от ожидания...
|
|||
|
141
AeDen
15.03.07
✎
11:33
|
(132) Посмотрю я на тебя, как ты отловишь одну случайно пропущенную букву после н часов кодирования, глядя на экран, а не на клаву во время написания...
|
|||
|
142
Asmody
15.03.07
✎
11:34
|
(138) иногда это не очевидно
|
|||
|
143
Скользящий
15.03.07
✎
11:34
|
(122) Я говорю не про копирование ДНК, а про рабочую развивающуюся клетку человеческого организма. А вообще, если подумать, то природа создала очень мощный биологический компьтер с мощными работающими программами, т.е. человека. Может у нее поучиться? :-)
(126) Природа вообще постоянно ошибается. Просто то что ошибочно, не выживает. |
|||
|
144
Vozhd
15.03.07
✎
11:34
|
(135) Никакой инструмент не заменит необходимость думать...
|
|||
|
145
колодина
15.03.07
✎
11:35
|
(133) ну какие подробности? был написан компилятор на си, который преобразовывал формализованный текст в код на си. вся проблема в том, что сложные логически алгоритмы невозможно было описать формально...
|
|||
|
146
Vozhd
15.03.07
✎
11:35
|
(136) Переход был, только писать программы с ошибками экономически выгоднее в краткосрочной перспективе...
|
|||
|
147
AeDen
15.03.07
✎
11:36
|
Человеческий фактор - неизбежен! Так-что прогу без единой ошибки написать не реально.
|
|||
|
148
Vozhd
15.03.07
✎
11:36
|
(143) С чего Вы взяли, что это именно ошибки?
|
|||
|
149
Asmody
15.03.07
✎
11:36
|
возьмем, к примеру, smalltalk (честно скажу, в нем я специалист никакой - два раза в универе чего-то писал типа "hello, world"). так вот в нем идеологически заложено, что написание и отладка программы - один и тот же процесс.
|
|||
|
150
zalex
15.03.07
✎
11:36
|
(146) Все зависит от применения, если это 1С - оно конечно, а если например медицинское оборудование программить возьмешься?
|
|||
|
151
Волшебник
модератор
15.03.07
✎
11:36
|
(143) Этому мощному биологическому компьютеру свойственно ошибаться. Не подходит.
(144) Можно думать о незакрытых скобках или бесконечной рекурсии, а можно думать о новых фичах. (145) Почему? (146) Мы говорим про OpenSource, где деньги и сроки не очень важны. |
|||
|
152
Vozhd
15.03.07
✎
11:37
|
(143) Человечество вымрет, а значит оно ошибочно. Так что ли?
|
|||
|
153
kazam
15.03.07
✎
11:38
|
(152) ошибочен, но только на момент вымирания
|
|||
|
154
Asmody
15.03.07
✎
11:38
|
(151) [Мы говорим про OpenSource, где деньги и сроки не очень важны.] - ты хочешь сказать, что "писатели" линуксов не хотят есть? или они живут при коммунизме?
|
|||
|
155
колодина
15.03.07
✎
11:39
|
(149) ну на smalltalk-е тоже не тривиально программить... также ошибки лезут, когда логика сложная... делали мы систему на нем
|
|||
|
156
Vozhd
15.03.07
✎
11:39
|
(151) OpenSource - это огромные деньги...
|
|||
|
157
Vozhd
15.03.07
✎
11:39
|
(155) Наличие ошибок связано не с языком, а с программистами...
|
|||
|
158
Asmody
15.03.07
✎
11:40
|
(152) "человек - лишь промежуточное звено для создания истинного шедевра природы - бокала Мартини с лимоном" (С) не мое
|
|||
|
159
Allexe
15.03.07
✎
11:40
|
(140) Спорить можно бесконечно долго. Как вариант 20+20+20 Еще прожили на какое-то время дольше чем те которые не дождались проги :) Смысл в том что на практике скорость выхода программы важнее чем ее безошибочность (опять же в разумных пределах).
|
|||
|
160
vitello
15.03.07
✎
11:40
|
(7)программировать без ошибок нельзя, не получается точнее. это то же самое что писать "правильные" программы, таких не бывает
|
|||
|
161
Asmody
15.03.07
✎
11:41
|
(155) именно. я его привел как контрпример. программирование и отладка - суть неразрывные вещи. такова природа программирования.
|
|||
|
162
колодина
15.03.07
✎
11:41
|
сложно было описать, потому что надо было развивать компилятор... это была разработка в области ИИ - перестали деньги давать и все... а вообще-то оказалось, что программерам не нравится пользоваться этой вещью... сами писать любят. вот например, Clarion - тоже можно накидать форму, визуально все сделать, а компилятор за тебя код весь напишет... и все равно - все писала сама, мне так больше нравилось. почему? неизвестно...
|
|||
|
163
Allexe
15.03.07
✎
11:42
|
+159 Куда движется программирование? В сторону увеличения скорости разработки или в сторону уменьшения количества ошибок при разработке?
|
|||
|
164
Vozhd
15.03.07
✎
11:42
|
(159) С таким знанием всех видов практики, как у Вас, спорить бесполезно :-)
|
|||
|
165
Vozhd
15.03.07
✎
11:43
|
(163) Программирование никуда не движется в большинстве своем, оно гадит под себя. А то что движется, то движется в сторону сокращения количества ошибок, ибо исправление ошибок и их последствий сильно дороже, чем увеличение сроков изначальной разработки
|
|||
|
166
vitello
15.03.07
✎
11:44
|
+(160)Под «программой» часто понимают правильную программу, т.е. программу, не содержащую ошибок, соответствующую спецификации и дающую возможность формального вывода программы из формального набора предпосылок. Однако понятие ошибки в программе трактуется программистами неоднозначно. Будем считать, что в программе имеется ошибка, если она не выполняет того, что разумно ожидать от нее на основании документации по применению программы. Следовательно, правильнее говорить о несогласованности между программами и документацией по их применению.
В связи с тем, что задание на программу обычно формулируется не формально, а также из-за неформализованности понятия ошибки в программе, нельзя доказать формальными методами (математически) правильность программы. Нельзя доказать правильность программы и тестированием: как указал Дейкстра, тестирование может лишь продемонстрировать наличие в программе ошибки. Альтернативой правильной программы является надежная программа. Надежность программы - это ее способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью. При этом под отказом в программе понимают проявление в нем ошибки. Таким образом, надежная программа не исключает наличия в ней ошибок - важно лишь, чтобы эти ошибки при практическом применении этой программы в заданных условиях проявлялись достаточно редко. Убедиться, что программа обладает таким свойством можно при его испытании путем тестирования, а также при практическом применении. Таким образом, фактически мы можем разрабатывать лишь надежные, а не правильные программы. Разрабатываемая программа может обладать различной степенью надежности. Как измерять эту степень? Так же как в технике, степень надежности можно характеризовать вероятностью работы программы без отказа в течение определенного периода времени. Однако в силу специфических особенностей программ определение этой вероятности наталкивается на ряд трудностей по сравнению с решением этой задачи в технике. При оценке степени надежности программ следует также учитывать последствия каждого отказа. Некоторые ошибки в программах могут вызывать лишь некоторые неудобства при его применении, тогда как другие ошибки могут иметь катастрофические последствия, например, угрожать человеческой жизни. Поэтому для оценки надежности программных средств иногда используют дополнительные показатели, учитывающие стоимость (вред) для пользователя каждого отказа. P.S.это из учебника по теории вычислительных процессов |
|||
|
167
Allexe
15.03.07
✎
11:44
|
(164) Приведите пример. 2 проги одна вышла на рынок на год раньше но в ней было больше ошибок чем в той которая вышла на год позже. Причем к выходу второй, в первой уже часть ошибок исправили. И вторая прога завоевала рынок. Вам пример пожалуйста.
|
|||
|
168
Allexe
15.03.07
✎
11:45
|
(165) Откуда такие данные? Можно ссылочку хоть на одну статью на эту тему?
|
|||
|
169
andrewalexk
15.03.07
✎
11:47
|
(94)
:)) это шутка, которую вы можете "опровергнуть"?! ;) |
|||
|
170
Vozhd
15.03.07
✎
11:52
|
(167) Apache и IIS
(168) Брукс, Йордан, ДеМарко и т.д. |
|||
|
171
FerzCH
15.03.07
✎
11:55
|
Либо много времени на разработку алгоритмов - мало на кодинг, либо - быстрый кодинг и долгая отладка. Сейчас, учитывая требования к скорости решения задач, никто аглоритмами не занимается - клепаем на "скорую руку", а там -как кривая вывезет, зависит от мастеровитости и опыта
|
|||
|
172
Advan
15.03.07
✎
11:55
|
Если программа заработала сразу без ошибок - значит она изначально сделана не правильно - придеться все переписывать...
|
|||
|
173
FerzCH
15.03.07
✎
11:55
|
(172) Подтвержено многолетным опытом ;)
|
|||
|
174
Advan
15.03.07
✎
11:56
|
А вообще - Волшебник начал усиленно пиарить Мисту... вначале США, теперь это...
Раньше для этого использоваль войны форумов и тд... |
|||
|
175
Волшебник
модератор
15.03.07
✎
11:57
|
(174) Я просто хочу написать новый движок форума без ошибок.
|
|||
|
176
Vozhd
15.03.07
✎
11:59
|
(175) Давно пора :-)
|
|||
|
177
Волшебник
модератор
15.03.07
✎
12:01
|
(176) Ну так помогите технологией
|
|||
|
178
Advan
15.03.07
✎
12:02
|
(175)Не сынок - это фантастика (с) Не с того конца начала - так не взлетит - ты просто исправляй найденные ошибки и все - а тестировщиков полно ;)
|
|||
|
179
Asmody
15.03.07
✎
12:02
|
ИМХО (и не только мое), что сейчас у программистов просто нет времени на всякие выкрутасы с "правильным проектированием, хорошим кодированием и т.п. "
"пользователям не нужны программы, пользователям нужны _результаты_ работы программы" (С) не мое - вот это запомните, распечатайте большим красным шрифтом и повесьте у себя над столом. программа может содержать ошибки при условии: 1. ошибки могут быть оперативно и недорого устранены 2. ошибки не являются критическими 3. стоимость наличия ошибки не превышает стоимость ее исправления можно еще причин накидать... |
|||
|
180
Волшебник
модератор
15.03.07
✎
12:02
|
(178) При исправлении ошибок вносятся новые.
|
|||
|
181
Vozhd
15.03.07
✎
12:03
|
(177) Технология Вас не спасет. Надо очень тщательно спроектировать всю систему и только потом садиться что-либо кодить. А если сразу схватитесь за какую-то технологию, то багов наплодите кучу...
|
|||
|
182
Advan
15.03.07
✎
12:03
|
Создай секцию - ошибки форума - и отслеживай.
|
|||
|
183
Asmody
15.03.07
✎
12:04
|
(181) ага, про "тчательное проектирование" почитай у тех же бруксов-йорданов :)
|
|||
|
184
Волшебник
модератор
15.03.07
✎
12:04
|
(181) Как проектировать? Как от проекта переходить к реализации?
(182) Есть секция "Жизнь форума". Но речь идёт о том, чтобы не допускать ошибки, а не о том, чтобы их ловить и исправлять. |
|||
|
185
Advan
15.03.07
✎
12:05
|
(178)Исправляй их тоже - это бесконечный процесс - главное это избегать фатальных ошибок, а по мелочи - так это пусть мистяне отслеживают.
|
|||
|
186
Advan
15.03.07
✎
12:06
|
А способ не допускать ошибок один - не делать ничего.
тот не ошибаеться - кто не работает. |
|||
|
187
Vozhd
15.03.07
✎
12:07
|
(184) Как проектировать? - Сначала надо сесть и подумать о том, что хочется получить в конечном итоге, кто будет с этим работать, что люди ожидают от программы, что должно происходить с программой в дальнейшем (после ее запуска), подумать о том, в каких местах может в будущем потребоваться доп. функционал, подумать о том, какой функционал может отмереть и т.д.
Главное, не забыть записать все эти мысли. |
|||
|
188
Salvador Limones
15.03.07
✎
12:07
|
(177) Набросай на бумаге, чего хочешь и начинай писать с нуля, не заглядывая в предыдущий код. Сделай второй(тестовый форум) типа песочницы.
|
|||
|
189
Волшебник
модератор
15.03.07
✎
12:07
|
(186) Этот афоризм придумали программисты, чтобы оправдать свои ошибки. В некоторых случаях ошибки приводят к большим потерям (например, ошибки в F-35, ошибки в космических аппаратах, в других критических приложениях).
|
|||
|
190
Vozhd
15.03.07
✎
12:08
|
(187) + а потом каждый из разделов надо продумать как можно подробнее. когда продуманы все разделы до уровня относительно простых операций, вот тогда можно браться за кодирование...
|
|||
|
191
Волшебник
модератор
15.03.07
✎
12:09
|
(188) Как при написании с нуля сразу писать без ошибок (без многократных отладочных прогонов)?
|
|||
|
192
Vozhd
15.03.07
✎
12:10
|
(191) Надо сначала думать о том что и для чего пишется. А не потом, во врем прогонов...
|
|||
|
193
Advan
15.03.07
✎
12:10
|
(186)Вообщето
"тот не ошибаеться - кто не работает." - это народное и придумано задолго то появления компов. |
|||
|
194
Salvador Limones
15.03.07
✎
12:11
|
(191) Определить сразу функционал. Не дописывать/доделывать потом.
|
|||
|
195
Волшебник
модератор
15.03.07
✎
12:13
|
(194) Но требование такое, чтобы дописывать было легко и с гарантией безошибочности. Т.е. определяем базовый функционал - пишем. Всё работает. Определяем новый функционал - дописываем. Опять всё работает и старое не ломается.
|
|||
|
196
АП
15.03.07
✎
12:13
|
(0) влом читать все...
все описанное в (0) позволяет делать Extreme programming Экстремальное программирование. Дисциплина разработки ПО, объединяющая более десятка методологий и практик в этой области для небольших и средних по размеру команд программистов, занимающихся реализацией проекта в условиях неясных или быстро меняющихся требований. Основатель движения за продвижение XP – Кент Бек (Kent Beck). Правда на сегодняшний день в 1С это практически не применимо. Разве, что некоторые пункты позволят добиться улучшения. А так Java, Smalltalk |
|||
|
197
Vozhd
15.03.07
✎
12:15
|
(191) Как пишут ПО для американских шаттлов
http://kholeg.spaces.live.com/blog/cns!D006ED9CB32B0F60!152.entry |
|||
|
198
France
15.03.07
✎
12:15
|
(190) это идеальный случай.. а в реальности все начинается с необходимости уложится в сроки и в бюджет..
а "лирика" про целевую группу, которым предназначено ПО отодвигается на задный план.. |
|||
|
199
1C_Unit 111
15.03.07
✎
12:17
|
Есть технология MDA. Смысл её в том, что код генериться автоматически на основании модели и все изменения также вносяться не в код, а в модель а затем снова генериться уже изменённый код. Для Дельфей есть готовый перобразователь из, грубо говоря, UML модели в, опять же грубо, Object Pascal. Может и для php есть что-то похожее.
|
|||
|
200
Vozhd
15.03.07
✎
12:18
|
(198) При плохом руководстве, можно завалить любой проект...
|
|||
|
201
Побрекито
15.03.07
✎
12:19
|
(0) прочёл тут книжку по НЛП. Есть там такая тема - фильтр. Человек не может видеть реальный мир, он видит то, что пропускает его фильтр. Магия НЛП, по мнению авторов книги - в том, чтобы поменять фильтр человека. И мир становится другим.
Имхо, понятие "Программа без ошибок" - плод Вашего фильтра. Любая программа, в одном контексте являющаяся безошибочной, в другом контексте будет полной лажей. Имхо, невозможно сделать программу, безошибочную во всех контекстах, как невозможно понравиться всем на свете. |
|||
|
202
Лефмихалыч
15.03.07
✎
12:19
|
(0) "hello world" всегда без отладки пишется. Все зависит от того, что понимать под "программированием".
Возможно ли есздить на велосипеде с закрытыми глазами? Возможно, но - смотря на какое расстояние. Моя резолюция: тупая ветка... |
|||
|
203
France
15.03.07
✎
12:20
|
(202) на ассемблере... с первой попытки..
|
|||
|
204
Salvador Limones
15.03.07
✎
12:23
|
(203) http://www.roesler-ac.de/wolfram/hello.htm - отсюда? :-)
|
|||
|
205
АП
15.03.07
✎
12:24
|
(196)+ в Extreme programming есть один минус, мало хорошей литературы на русском, хотя если англ на хорошем уровне, то это проблемы не составит
Может за последний год картина изменилась, но я в свое время откопал в основном подлинники, может оно и к лучшему. Думаю в нете можно много инфы найти о то что, это и с чем едят, не в даваясь в тонкости методологии и разработки. В принципе если интересно могу порекомендовать литературу |
|||
|
206
Лефмихалыч
15.03.07
✎
12:26
|
(203) вырожденный случай. Однако, есть люди, которые даже на BrainFuck'е смогут "hello world" без отладки наваять, но это не программирование, равно, как и езда на велосипеде с закрытыми глазами - не езда
|
|||
|
207
France
15.03.07
✎
12:26
|
(204) не.. я предлагаю Лёвычу сделать с одной попытки на ассемблере)). чтоб прочуствовался моментом
|
|||
|
208
AeDen
15.03.07
✎
12:30
|
(204) Класс)))
|
|||
|
209
AntonioS
15.03.07
✎
12:32
|
(0) я думаю автору будет полезно ознакомиться со статьей Брукса "Серебреной пули не существует."
|
|||
|
210
Волшебник
модератор
15.03.07
✎
12:33
|
(197) Отличная статья.
"Здесь существует культура: бортовая группа шаттла производит взрослое программное обеспечение и способ, при помощи которого оно производится, сама также являясь взрослой. [...] Когда вы уже готовы сделать следующий шаг – писать совершенное ПО, вместо достаточно хорошего – значит пришло время взрослеть." |
|||
|
211
Скользящий
15.03.07
✎
12:36
|
(201) ты даже не представляешь, как ты прав. :-) Если смотреть с этой точки зрения, то идеально безошибочная программа, - будет та, которая идеально реагирует на реальность. Но с точки зрения неидеальных пользователей - она будет ошибочной.
|
|||
|
212
Midaw
15.03.07
✎
12:36
|
Для меня важно несколько факторов, чтобы не было "ошибок":
1. Изначально правильно поставленная задача (знать проблему) 2. Максимальное удобное ПО и оборудование для написания 3. Как можно больше мотивации (денег) и времени 4. Большое количество удобных средств отладки, предсказания ошибок, технологий (ООП, СУБД и т.д.) в среде программирования (5) Собственные знания, что есть правильное в каждом из выше указанных пунктов А вообще я не понимаю, что такое программист.. Я понимаю что такое группа разработчиков (например 1С, аксапта), а что такое программист не пойму никогда.. |
|||
|
213
France
15.03.07
✎
12:38
|
(212) программист - самый жадный и ленивый член группы разработчиков..
|
|||
|
214
Волшебник
модератор
15.03.07
✎
12:42
|
Вот ещё фраза из статьи:
"В группе шаттла, все делается правильно с первого раза. И никто не изменяет программное обеспечение без изменения плана. Вот почему их ПО настолько совершено. Каким образом они пишут правильную вещь? Ответ такой: все дело в процессе. Наиболее важный результат работы группы – это не совершенное программное обеспечение, которое они пишут – это процесс разработки, который они изобрели, который позволяет создавать совершенное ПО. Разработчики даже начали проводить свои собственные ревизии кода на заседаниях, скрупулезный анализ, который, как они надеются, расстроит тестеров. В результате такой дружеской конкуренции группа шаттла сейчас обнаруживает 85% ошибок до начала формального тестирования, и 99.9% до того, как программа отправляется в НАСА. База данных – это фундамент программного обеспечения. Одна из них – это история, собственно, кода, где каждая строчка снабжена комментарием, говорящим о каждом случае, когда она была изменена, почему она была изменена, когда это произошло, с какой целью это было сделано, какие спецификации описывают это изменение. Другая база данных – это база данных ошибок, является своего рода памятником тому пути, которым прошла бортовая группа шаттла в своей работе. Здесь содержатся все ошибки, которые были когда-либо допущены при написании или при работе с ПО, на протяжении почти 20 лет. Для каждой ошибки в базе данных хранятся записи о том, когда эта ошибка была обнаружена; какой набор команд привел к ней; кто обнаружил ошибку; на какой стадии ошибка была обнаружена – при тестировании, при тренировке или в полете. Здесь отслеживается как ошибка проявилась в программе; как ошибке удалось просочиться сквозь фильтры на каждой стадии поиска ошибок – почему она не была обнаружена при проектировании? при ревизиях кода? при тестировании? В конечном итоге база данных содержит информацию о том, как ошибка была исправлена и не могли ли подобные ошибки просочиться сквозь эти дыры. 4. Мало исправить ошибку – в первую очередь, необходимо исправить все, что позволило этой ошибке случиться. |
|||
|
215
AeDen
15.03.07
✎
12:44
|
"В результате такой дружеской конкуренции группа шаттла сейчас обнаруживает 85% ошибок до начала формального тестирования, и 99.9% до того, как программа отправляется в НАСА."
ответ на вопрос в (0)? |
|||
|
216
Скользящий
15.03.07
✎
12:44
|
(197) Действительно классная статья.
|
|||
|
217
Vozhd
15.03.07
✎
12:44
|
(214) Волшебник, что Вам мешает писать настолько же качественный код?
|
|||
|
218
Волшебник
модератор
15.03.07
✎
12:45
|
(215) Да. Значит всё-таки программировать без ошибок можно.
(217) Я уже начал думать на эту тему. |
|||
|
219
Midaw
15.03.07
✎
12:48
|
Мало исправить ошибку – в первую очередь, необходимо исправить все, что позволило этой ошибке случиться.
ВоВо, так оно и есть. когда долго кодишь приходишь к тому, что любую мелочь заранее пытаешься убить.. но вечно не хватает времени, денег.. понимаешь, что просто не способны люди оплатить код без ошибок.. и т.д. так что космос технологии не для нас.. |
|||
|
220
АП
15.03.07
✎
12:48
|
Волшебник, видел (196), (205)?
или не заинтересовало? |
|||
|
221
АП
15.03.07
✎
12:48
|
(214) понравилось 4. Мало исправить ошибку – в первую очередь, необходимо исправить все, что позволило этой ошибке случиться.
|
|||
|
222
Скользящий
15.03.07
✎
12:51
|
Но по ссылке в (197) у меня вырисовывается следующая картинка. Стая дятлов под руководством очень умных дятлов очень долго, скрупулезно, документируя каждый удар клювом, и обсуждая каждую отлетевшую щепку каждые 10 секунд долбят одно маленькое тощее деревцо.
|
|||
|
223
MMF
15.03.07
✎
12:53
|
Контрактное проектирование значительно повышает качество итогового кода, но конечно тоже не панацея.
|
|||
|
224
Волшебник
модератор
15.03.07
✎
12:54
|
||||
|
225
1C_Unit 111
15.03.07
✎
12:54
|
(222) так дерево не маленькое почти в полмиллиона строк кода
|
|||
|
226
avkend
15.03.07
✎
12:57
|
в придачу нигде не сказано что они пишут без ошибок, а постоянно говориться что они их выискивают и правят...
|
|||
|
227
АП
15.03.07
✎
12:58
|
(224) что ты сам думаешь по поводу XP в отношении к (0)?
|
|||
|
228
Волшебник
модератор
15.03.07
✎
12:59
|
(226) Да, ошибки остаются. Но 20 ошибок на полмиллиона строк кода, это 1 ошибка на весь движок форума 0.2 ошибки на весь движок форума.
|
|||
|
229
Волшебник
модератор
15.03.07
✎
12:59
|
(227) Думаю, XP - это хорошо. Нужно применять.
|
|||
|
230
AeDen
15.03.07
✎
13:04
|
(218) В свете (117)???
Тут говорится о том, что ошибки отлавливаются и исправляются. Причем большая часть - до начала теситрования, еще часть - до отправки релиза. Или я чего-то не понял? |
|||
|
231
avkend
15.03.07
✎
13:05
|
(228) Все можно вылизать: было бы желание. а у них есть и желание и самое главное стимул. Не думаю что они мало получают!
|
|||
|
232
AeDen
15.03.07
✎
13:06
|
(222) От эитх документированных ударов зависит не правильность и полнота начисления налога в заурядной конторке в Мухосранске... От них зависит нечто большее...
|
|||
|
233
avkend
15.03.07
✎
13:08
|
+(231) мне кажеться была бы 1с статична- она бы уже давно была бы вылизана...
|
|||
|
234
Волшебник
модератор
15.03.07
✎
13:07
|
(231) По Маслоу, зарплата не является стимулирующим фактором.
|
|||
|
235
AeDen
15.03.07
✎
13:08
|
"Важно заметить, что группа избегает обвинять людей в ошибках. Все обвинения берет на себя процесс – и именно процесс подвергается анализу, чтобы определить как и почему произошла ошибка. В то же время, ответственность является принципом команды: ни один человек не отвечает единолично за написание или ревизию кода. "Вас не будут наказывать за то, что вы допускаете ошибки", - говорит Маджори Сейтер, старший сотрудник технического персонала. "Если я делаю ошибку, а другие проверяют мою работу, значит я не одинок. Меня не будут обвинять в этом." " - хороший абзац.
|
|||
|
236
avkend
15.03.07
✎
13:11
|
(234) Что же тогда является стимулирующим фактором?
|
|||
|
237
Asmody
15.03.07
✎
13:11
|
(234) видимо, Маслоу был небедным чуваком :)
|
|||
|
238
Midaw
15.03.07
✎
13:12
|
(237) это зависть, понятия небедного нету. человеку всегда мало )
|
|||
|
239
avkend
15.03.07
✎
13:13
|
(235) Типа если и они не нашли как тогдя я бы смог найти ее. с одной стороны это перекладывание на другого ответственности с другой стороны когда осуществляеться такая проверка кода то это снижает шанс ошибки проскочить мимо разработчиков. но это вроде и так понятно что не замыленым глазом лучше проверять...
|
|||
|
240
AeDen
15.03.07
✎
13:16
|
(239) Ты статью прочитай. Статья очень интересна и познавательна. Вроде ничего нового, но рассказано о том, как все это надо применять.
|
|||
|
241
AeDen
15.03.07
✎
13:17
|
(236) Для кого-то - похвала начальника, для кого-то - одобрение коллектива, для кого-то - признание общестивенности.
|
|||
|
242
Vozhd
15.03.07
✎
13:19
|
(240) Не о том как НАДО применять, а о том как ПРИМЕНЯЮТ...
|
|||
|
243
avkend
15.03.07
✎
13:23
|
(241) что много примеров есть у тебя?
|
|||
|
244
AeDen
15.03.07
✎
13:30
|
(242) Ну, то, что описано в статье, можно взять за эталон в очень многих компаниях. Так-что так именно НАДО применять, и это потверждено опытом и результатами.
(243) Где-то ветка пробегала, вроде от AnnaK, поищи))) |
|||
|
245
kazam
15.03.07
✎
13:31
|
убейте эту ветку
|
|||
|
246
ado
15.03.07
✎
14:25
|
(189) Колумбия, Челленджер, Союз-1 -- это были ошибки не программистов, а конструкторов. Ни нет ни одной области человеческой деятельности, где можно было бы избежать ошибок. По этому программы тестируются, космические корабли, самолеты и автомобили -- испытываются.
|
|||
|
247
Midaw
15.03.07
✎
14:32
|
(246) когда то в будущем в космосе летит привет: "ядерная бомба - тоже была ошибкой"..
|
|||
|
248
13hero
15.03.07
✎
15:16
|
(13) Истину глаголишь, уважаемый!
|
|||
|
249
13hero
15.03.07
✎
15:20
|
Имхо для того чтобы писать сложный безошибочный код необходимо в голове одного человека полностью смодулировать во всех делталях и со всеми взаимосвязями:
1. Компилятор. 2. Программный код. 3. Задачу. |
|||
|
250
13hero
15.03.07
✎
15:21
|
(24) Независимые от среды программы, это байка.
|
|||
|
251
13hero
15.03.07
✎
15:25
|
(40) Порой, для того, чтобы свести сложный процесс к нескольким простым, нужно полностью смоделировать в голове этот процесс и выявить взаимосвязи, которые порой бывают очень многочисленными.
|
|||
|
252
13hero
15.03.07
✎
15:28
|
(55) +1
|
|||
|
253
Vozhd
15.03.07
✎
15:30
|
(250) Зависимые от среды - это не программы, это скрипты
|
|||
|
254
13hero
15.03.07
✎
15:34
|
(106) Проблема в том что количество взаимосвязей и зависимостей между отдельными частями в реальности стремится к бесконечности.
|
|||
|
255
Vozhd
15.03.07
✎
15:40
|
(254) Только при плохом дизайне.
|
|||
|
256
13hero
15.03.07
✎
15:50
|
(214) Эта статья говорит о том что можно писать программы и при этом эффективно бороться с "уже допущенными ошибками" и их источниками.
Но эта статья не говорит о том как писать код без ошибок. :0) |
|||
|
257
Vozhd
15.03.07
✎
15:52
|
(256) Да ну...
|
|||
|
258
13hero
15.03.07
✎
15:52
|
(257) Возможно кто-то не заметил, но в их коде всё таки находились и находятся ошибки. :0)
|
|||
|
259
13hero
15.03.07
✎
15:53
|
(255) :0)
|
|||
|
260
AeDen
15.03.07
✎
15:53
|
(257) Ну да. Вопрос в том, что считать ошибкой. В какой момент ошибка считается ошибкой, в момент тестирования, или в момент написания? Если написал, проанализировал, ликвидировал, только потом передал в тестирование - это ошибка?
|
|||
|
261
Vozhd
15.03.07
✎
15:55
|
(260) Пока я свой код никому не отдал с отметкой "закончено", ошибок в таком коде нет.
|
|||
|
262
13hero
15.03.07
✎
15:57
|
(261) Тоесть ошибки уже пользователи ищут? :0)
|
|||
|
263
Vozhd
15.03.07
✎
15:58
|
(262) Если отдаешь сразу пользователям, то они их ищут. Если отдаешь код тестерам, то тестеры ищут.
|
|||
|
264
13hero
15.03.07
✎
15:59
|
(263) А если не отдавать ни кому, то и ошибок не будет. :0)
|
|||
|
265
Vozhd
15.03.07
✎
16:00
|
(264) Ну если по-другому ошибок избежать не можете...
|
|||
|
266
13hero
15.03.07
✎
16:04
|
(265) А ты видать умудряешься избегать ошибок. :0)
|
|||
|
267
Vozhd
15.03.07
✎
16:05
|
(266) Таки Вы это заметили :-)
|
|||
|
268
13hero
15.03.07
✎
16:17
|
(267) На самом деле я не заметил, ибо я не видел своими глазами чтобы ты писал код непрерывно и без ошибок. :0)
|
|||
|
269
Vozhd
15.03.07
✎
16:21
|
(268) А много моего кода Вы видели? И сколько в этом коде было ошибок?
|
|||
|
270
13hero
15.03.07
✎
16:25
|
(269) Не видел. В конечном коде ты уже мог найти и исправить все ошибки, а это не безошибочное программирование. :0)
|
|||
|
271
Vozhd
15.03.07
✎
16:27
|
(270) Если ошибок нет, то почему же оно не безошибочное? :-)
|
|||
|
272
13hero
15.03.07
✎
16:28
|
(271) Если ошибок уже нет, то это не значит что их вообще небыло. :0)
|
|||
|
273
Иде я
15.03.07
✎
16:28
|
(271) Сколько раз запускал программу в процессе написания?
|
|||
|
274
Vozhd
15.03.07
✎
16:32
|
(273) Запускал какое-то количество раз. Но как можно говорить об ошибках, если я, как автор программы, еще ее не написал? Вот когда я сказал, что все сделано и отдал ее в тестирование или сразу пользователям, вот тогда начинаются ошибки. А до этого момента ошибок нет :-)
|
|||
|
275
Иде я
15.03.07
✎
16:33
|
(274) Дык запуск и есть отладка
|
|||
|
276
Волшебник
модератор
15.03.07
✎
16:33
|
(274) В идеале это должен быть 1 раз. Если программа написана, но при компиляции или выполнении выдаёт неожиданные результаты, значит ошибка уже допущена! Нужно разбираться, почему она была допущена, вносить её в базу ошибок и устранять причины возникновения ошибки.
|
|||
|
277
Волшебник
модератор
15.03.07
✎
16:36
|
(276)+ Забыл закрыть скобку - внеси её в базу ошибок. Устрани причину: при нажатии на открывающую скобку сразу же ставь закрывающую.
Ошибся с числом параметров функции - внеси в базу ошибок. Устрани причину: при написании имени функции сверься с хелпом или, если это твоя функция, то с её заголовком. |
|||
|
278
Волшебник
модератор
15.03.07
✎
16:39
|
(277)+ Подобная постоянная работа с базой ошибок быстро выработает подсознательный рефлекс - программировать безошибочно, чтобы программа запускалась и работала правильно с первого раза.
|
|||
|
279
Лефмихалыч
15.03.07
✎
16:42
|
(278) скорее это сформирует рефлекс писать в базу ошибок, как Гений1С - в КЗ
|
|||
|
280
Волшебник
модератор
15.03.07
✎
16:44
|
(279) Если каждая запись сопровождается датой и временем, то статистика покажет, произошло ли явное снижение количества ошибок или нет.
|
|||
|
281
Иде я
15.03.07
✎
16:46
|
(280) И время внесения в базу ошибок будет занимать треть всего времени...
Не говоря уже о ДОРАБОТКАХ....Ведь написание с нуля - это одно, а доработка существующей - совсем другое. |
|||
|
282
13hero
15.03.07
✎
16:49
|
(278) Это будет средство против не допущения повторения уже известных ошибок, но сама по себе это средство не приведёт к устранению источника появления всех ошибок. :0)
|
|||
|
283
Волшебник
модератор
15.03.07
✎
16:49
|
(281) С нуля и доработки - одно и то же. Если ты пишешь с нуля, то сначала пишешь базовый функционал, а потом начинаешь в него вносить доработки.
Мы уже договорились, что сроки и деньги нас не ограничивают. Нас интересует качество. Допустим, нужно написать программу ориентировочно в 10000 строк за год, располагая десятком разработчиков. Можно ли гарантировать, что в этих строках не будет ошибок (или будет 1-2 ошибки)? |
|||
|
284
Лефмихалыч
15.03.07
✎
16:50
|
(280) предложенное тобой в (276-278) - это не работа, а kind of бюрократия. [Иде я] пральна сказал, такая работа породит рефлекс не кодить без ошибок, а вместо работы в базу ошибок отписки совать
|
|||
|
285
Волшебник
модератор
15.03.07
✎
16:51
|
(284) База предполагает не только описание ошибки и её устранение, но также устранение ПРИЧИН этой ошибки.
|
|||
|
286
Волшебник
модератор
15.03.07
✎
16:51
|
(285)+ причин возникновения этой ошибки, т.е. чтобы в будущем ошибки подобного класса больше не возникали.
|
|||
|
287
13hero
15.03.07
✎
16:52
|
(283) Если допускать хотябы одну ошибку, то это будет означать что источник проблемы не решен. :0)
|
|||
|
288
Лефмихалыч
15.03.07
✎
16:52
|
(282) знаешь сколько в КЗ и в БЗ дублирующих веток? И я не знаю, но думаю, ты со мной согласишься, что - туева хуча. А ведь КЗ и БЗ создавались для того, чтобы не дублировать ответы на однотипные вопросы... Вывод выводить или он очевиден?
|
|||
|
289
13hero
15.03.07
✎
16:52
|
(286) Способов ошибаться - бесконечное число. :0)
|
|||
|
290
Vozhd
15.03.07
✎
16:53
|
(276) Эдак Вас понесло, уважаемый....
Почему не заносить новую ошибку в базу, после нажатия каждой кнопки? |
|||
|
291
Иде я
15.03.07
✎
16:54
|
Прораммист - ленив по своей природе.
|
|||
|
292
Лефмихалыч
15.03.07
✎
16:55
|
+(291) и в итоге программист напишет скрипт, который будет за него вносить "ошибки" в базу ошибок, а сам пойдет пить пыво
|
|||
|
293
Волшебник
модератор
15.03.07
✎
16:55
|
(287) Совершенства не бывает, но стремиться к нему надо. По нынешним меркам программа, содержащая 1 ошибку на 10 тыс. строк, практически идеальна.
|
|||
|
294
13hero
15.03.07
✎
16:56
|
(293) Согласен.
|
|||
|
295
Иде я
15.03.07
✎
16:56
|
(293) Не верю в существование таких программ в 1С.
|
|||
|
296
Vozhd
15.03.07
✎
16:57
|
(295) А в 1С их нет и не будет в обозримом будущем...
|
|||
|
297
Волшебник
модератор
15.03.07
✎
16:57
|
(295) Язык не имеет значения. Мы говорим про НАШИ ошибки, а не ошибки платформы, компилятора и т.д. В общем случае, чем выше язык программирования, тем меньше ошибок.
|
|||
|
298
France
15.03.07
✎
16:59
|
осталось мелочь...
посчитать количество строк кода в УПП посчитать количество ошибок в УПП и сказать, что УПП идеальна.. |
|||
|
299
Vozhd
15.03.07
✎
16:59
|
(297) Тем наоборот ошибок больше. Чем больше операций выполняет одна конструкция языка, тем сложнее учесть все последствия этих операций...
|
|||
|
300
Волшебник
модератор
15.03.07
✎
17:00
|
(298) Простой подсчёт точек с запятой и веток форума показывает, что любая типовая конфигурация от "1С" далека от идеала.
|
|||
|
301
Vozhd
15.03.07
✎
17:00
|
(298) Количество ошибок (только зарегистрированных) в ней огромно. До идеала ей очень далеко...
|
|||
|
302
Волшебник
модератор
15.03.07
✎
17:01
|
(299) Мы подразумеваем, что неблагоприятных последствий нет, т.е. среда безошибочна.
|
|||
|
303
France
15.03.07
✎
17:02
|
(300) (301) сколько строк и сколько ошибок - есть статистика?.. всеж, если руководствоватся 10 тыс.строк - 1 ошибка, то в УПП, при 1 000 000 всего то 100 ошибок..
|
|||
|
304
Vozhd
15.03.07
✎
17:02
|
(303) Там больше 100 ошибок :-)
|
|||
|
305
КапЛей
15.03.07
✎
17:06
|
а что вообще считать ошибками? вот к примеру можно написать КанецЦикла. это ошибка и не взлетит. а можно допустить кучу методологических ошибок. допустим, рассчитать себестоимость продукции по методике расчета больничного листа (утрированно конечно говорю) вроде как синтаксически правильно, программа работает, даже рассчитывает, но вреда-то от таких ошибок в разы больше!
|
|||
|
306
Vozhd
15.03.07
✎
17:08
|
(305) Ошибка, это когда поведение готовой программы не соответствует изначально поставленной задаче.
|
|||
|
307
Волшебник
модератор
15.03.07
✎
17:09
|
(303) Я насчитал там 550 тыс. строк (редакция 1.1.4.4)
|
|||
|
308
Мяв-Мяв
15.03.07
✎
17:16
|
Есть еще один забавный аспект.
Текст программы может быть без ошибок. А сама программа - неработоспособной. Например в ходе одной из бесед на этом форуме один уважаемый и весьма высококвалифицированый специалист очень долго пытался написать тот самый "хеловорд". Он не работал. Причина неудачи была в том, что автор был уверен, что пишет на С++, а на самом деле писал на каком-то из майкрософтовских диалектов, которых никто кроме вижалстудии не разумеет. Это же пример того, что даже хорошо владея инструментом (языком) без наличия привычного окружения допускаются мелкие неточности (например забыть инклуд), которые формально являются ошибками, но с легкостью корректируются средой автоматически или явным указанием на этапе предкомпиляции. Но вот пользоваться ли этим инструментом? Если "среда идеальна" - почему нет. Но разве у нас такая есть? |
|||
|
309
Волшебник
модератор
15.03.07
✎
17:19
|
(308) Если разработчики процессоров, компиляторов, операционок, баз данных и т.д. будут программировать безошибочно, то такая среда со временем появится. Но начать можно с себя и своих программ.
|
|||
|
310
Иде я
15.03.07
✎
17:20
|
(309) Неа, нам столько не платят. И сроки не такие. И мотивации нету писать без ошибок :)
|
|||
|
311
Иде я
15.03.07
✎
17:20
|
Для начала надо ставить задачу без ошибок :)
|
|||
|
312
Волшебник
модератор
15.03.07
✎
17:21
|
Кстати, разработчики процессоров и компиляторов по качеству кода очень близки к разработчикам ПО шаттлов. Ошибки в процессорах и компиляторах исключительно редки.
|
|||
|
313
kazam
15.03.07
✎
17:23
|
в основном эта ветка - "с пустого в порожнее"
|
|||
|
314
Vozhd
15.03.07
✎
17:23
|
(312) ошибок в компиляторах выше крыши и gcc хорошие пример этого!
|
|||
|
315
Vozhd
15.03.07
✎
17:24
|
(313) Если бы только эта ветка...
|
|||
|
316
Волшебник
модератор
15.03.07
✎
17:25
|
(313) Ну почему же. Есть интересные мысли.
|
|||
|
317
Ненавижу 1С
гуру
15.03.07
✎
17:26
|
Если программа идеальна, то нужны ли конструкции типа
Попытка Исключение КонецПопытки; |
|||
|
318
kazam
15.03.07
✎
17:26
|
(315) но эта особенно поражает серьезностью темы и содержания.
Типа: "как добиться мира во всем мире?" или "построить крепость из спичек" |
|||
|
319
Волшебник
модератор
15.03.07
✎
17:27
|
(317) Этими конструкциями можно защититься от внешних неидеальных программ.
|
|||
|
320
Vozhd
15.03.07
✎
17:28
|
(317) Есть методы программирования без таких конструкций. На channel9 есть интересные интервью на эту тему (не помню сейчас фамилию дядки, который про такие способы рассказывал).
|
|||
|
321
Vozhd
15.03.07
✎
17:28
|
(319) Можно защитится кучей других конструкций...
|
|||
|
322
AntonioS
15.03.07
✎
17:33
|
to Волшебник
те ошибки, о которых ты говоришь, не являются существенными для качества. И устраняться они должны не за счет тренировки программиста, а за счет совершенствования инструментальных средств. Т.е. текстовый редактор программы должен контролировать закрытие скобок и прочие ошибки синтаксиса. Более того, он должен исключить возможность части ошибок и, например, не допускать внесение строки по вызову функции с неуказанными параметрами. По большому счету, редактор программы должен обладать свойством мнгновенной компиляции, т.е. компиляции на стадии ввода кода. Другой выход состоит в повышении уровня абстракции мышления, оперировании при программировании понятиями более высокого уровня. Этот процесс идет с самого зарождения программной индустрии и будет и дальше развиваться. НО! Проблема не в устранении синтаксических ошибок, а в устранении ошибок проектирования. А вот это уже гораздо сложнее. |
|||
|
323
Мяв-Мяв
15.03.07
✎
17:34
|
А можно еще проанализировать обнаруженные ошибки, и попытаться установить причину их появления.
|
|||
|
324
Волшебник
модератор
15.03.07
✎
17:39
|
(322) Я с тобой полностью согласен.
|
|||
|
325
France
15.03.07
✎
17:41
|
в упп (релиз 1.2.4) около 300 ошибок при 867 984 ошибке...
|
|||
|
326
kazam
15.03.07
✎
17:41
|
(325) 1с - дармоеды
|
|||
|
327
Vozhd
15.03.07
✎
17:44
|
(325) 867 984 ошибок - это мощно! Это повод для гордости!
|
|||
|
328
Ay49Mihas
15.03.07
✎
17:45
|
(322) Это да, только такие программисты (которые и спроектируют хорошо)
выдавлены демпингом быдлокодеров на той же, например, 1С :) Не все, конечно же, ведь конторы, готовые платить нормальному программисту, держат нормального программиста. |
|||
|
329
France
15.03.07
✎
17:45
|
(327)да.. мощно.. ))..
|
|||
|
330
kazam
15.03.07
✎
17:57
|
надо бы апнуть
|
|||
|
331
Vozhd
15.03.07
✎
17:58
|
(330) А смысл? Все равно никто не бросится в корне менять свой подход к работе, чтобы сократить количество ошибок...
|
|||
|
332
Волшебник
модератор
15.03.07
✎
18:05
|
(331) Я хочу попробовать новую технологию при реализации нового движка форума.
|
|||
|
333
France
15.03.07
✎
18:07
|
какой щастье, когда есть желание что либо делать..
|
|||
|
334
Волшебник
модератор
15.03.07
✎
18:07
|
(333) Счастье - это когда тебе есть кого любить, что делать и на что надеяться. Китайская мудрость
|
|||
|
335
France
15.03.07
✎
18:10
|
(334) 66 процентов набрал.. блин.. чот дьявольское получилось..
|
|||
|
336
kazam
15.03.07
✎
18:16
|
(332) ну успехов.
Только какие новые фичи ты хочь сделать? |
|||
|
337
Ay49Mihas
15.03.07
✎
18:57
|
(332) Что-нить типа Экстремального Программирования? :) Или что-то
действенное? :) |
|||
|
338
Волшебник
модератор
15.03.07
✎
19:10
|
||||
|
339
Ay49Mihas
15.03.07
✎
19:21
|
(338) А как относится перевод на InnoDB к ускорению? Это скорее
затормаживание... |
|||
|
340
Волшебник
модератор
15.03.07
✎
19:26
|
(339) За счёт определенного уровня изоляций транзакций, поддерживающих. "грязного чтения". И радикально повышается надёжность. MySQL-таблицы часто рушатся.
Из серьёзных недостатков InnoDB могу отметить только то, что в них нет полнотекстового индекса. |
|||
|
341
Ay49Mihas
15.03.07
✎
19:29
|
(240) InnoDB и MyISAM пока выступают как надёжный и быстрый концы. Консенсуса
нет :) Нужно что-то выбрать :) |
|||
|
342
Волшебник
модератор
15.03.07
✎
19:31
|
(341) Текущий движок форума уже переведён на InnoDB. Результаты положительные. Таблицы не рушатся. Быстродействие заметно не пострадало.
|
|||
|
343
Ay49Mihas
15.03.07
✎
20:05
|
(342) По идее, SELECT'ы не должны сильно замедлиться, а вот INSERT'ы, UPDATE'ы
и DELET'ы должны чуть затормозиться... |
|||
|
344
Волшебник
модератор
15.03.07
✎
20:44
|
(343) Соотношение операций модификаций к операциям чтения примерно 1 к 100.
|
|||
|
345
romix
15.03.07
✎
23:54
|
(0) По сабжу могу сказать, что количество ошибок резко снижается, или даже своится к нулю, если почаще (предельно часто) использовать оператор вызова исключения.
|
|||
|
346
romix
15.03.07
✎
23:58
|
(341) MyISAM нужен только для полнотекстового поиска. Про его якобы быстроту расскажи Волшебнику, когда тут все тормозило. :-)
На одиночных операциях может MyISAM и быстрее, но когда 100 человек читают и один пишет, то он обламывает 100 читающих (чтение начинается сначала). REPEATABLE READ происходит, как я понимаю. |
|||
|
347
GROOVY
16.03.07
✎
00:31
|
(0) тяжело но "ДА".
|
|||
|
348
Мистадонт
16.03.07
✎
00:50
|
(0) Я думаю, что скоро будет смена ПАРАДИГМЫ в программировании.
Ошибки кодинга. Мощность компов растет, пора бы облегчить жизнь кодерам :) Если растет уровень языка, количество ошибок кодера уменьшается. Чем мощнее наши компы, тем более высокого уровня языком можно пользоваться, при необходимости оптимизируя критичные для нужного быстродействия куски программы. Через несколько лет будет 1С 9.9, и в ней модуль проведения документа будет состоять из 1-5 строк :), а типовой отчет из 1 строки :) Ошибкам кодинга при такой лаконичности языка просто не будет физически места в коде, негде им будет спрятаться :) Ошибки в алгоритме. Тут проблема. Алгоритмы программ базируются на математических моделях. Все имеющиеся четкие формализованные алгоритмы уже давно запрограммированы. Очень многие предметные области, похоже, вообще не поддаются формализации. И ошибки в таких алгоритмах -- это даже и не ошибки, это нащупывание алгоритма методом проб и ошибок, попытки построения адекватной модели и проверка этой модели реальной жизнью. Имхо, без искусственного интеллекта от таких ошибок не избавиться никак :))) |
|||
|
349
Ay49Mihas
16.03.07
✎
03:39
|
(348) Поголовно перейдём на функцональное программирование?
А от 1С не дождёмся нормальной архитектуры, по-видимому, никогда. Тем более в свете грядущего вендекапеца. |
|||
|
350
КонецЦикла
16.03.07
✎
03:41
|
Все ниасилел
Отладчики нужны, т.к. мы живые люди. И это прекрасно! |
|||
|
351
Череп
16.03.07
✎
06:12
|
Ребята, а вы классиков вообще читаете? Ну там Макконнела или Фаулера? Программ без ошибок не бывает. Совсем. Просто можно писать программы с минимумом ошибок(ну например 10 на 1000 строк кода).
|
|||
|
352
колодина
16.03.07
✎
06:25
|
(334) ну какая ты все-таки умница...
|
|||
|
353
Obed
16.03.07
✎
07:09
|
фуф, осилил... писать надо с ошибками, чтоб потом можно было бабла срубить за исправление ошибки :)
|
|||
|
354
AeDen
16.03.07
✎
08:17
|
(331) Вот если получится победить руководство - поменяется и подход.
Тока побеждать надо не тока руководство, но и тех, кто задачи ставит... А-то скажут "Тут вот так работает, надо, что-бы вот так работало. Полчаса." А потом оказывается, что вот это не учли, и вот такую ситуацию не просчитали, и вон ту взаимосвязь забыли... А когда просишь полное описание процесса на том или ином участке - концы фик найдешь... Никот ниче не знает... |
|||
|
355
Ay49Mihas
16.03.07
✎
08:19
|
(351) Опять же, какие ошибки имеются в виду? Никакой кодер не сможет писать без
логических ошибок, если архитектура проекта плохо спроектирована (например, не выделены ортогональные модули с описываемым функционалом). |
|||
|
356
AeDen
16.03.07
✎
08:20
|
(351) Умудрился написать обработку на полторы тыщи строк без ошибок... Прошу прощения, я не нарошно... И, к сожалению .порка это единственный случай...
|
|||
|
357
AeDen
16.03.07
✎
08:20
|
Пока)))
|
|||
|
358
Vozhd
16.03.07
✎
08:49
|
(332) Пожалуйста, не надо новых технологий, просто подойдите к работе не торопясь и с умом.
(348) Для того, чтобы перейти к новой парадигме, надо чтобы старая стала экономически не выгодной. А этого пока не происходит. Посему мэйнстрим еще не один десяток лет будет жить в рамках нынешних парадигм... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |