ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
818458 Топик полностью
Николай Коровин (22.02.2018 16:16, просмотров: 292) ответил SciFi на Что называется, выход из шкафа. Чистосердечное признание в том, что "современное развитие техники" ведёт в #опу. И это печально, товарищи.
Я не хочу читать длинные простыни, поэтому ничего комментировать особо не буду, а сразу перейду к конструктивной части. Мне удалось ставить рекорды надёжности следующим образом. 1) Надо мной не было никакой формальной проверки, которая снимала бы груз с души и подменяла бы цель. Вместо угождения проверялам я сосредотачивался на надёжности. Любая лажа потребовала бы устранения её на месте, а это такой адок, в который попадать не хочется. 2) Я не пытался переложить задачу на «современные методы», на «сейчас надо писать так», на всякие сборщики мусора, на весь этот фен-шуй. Я просто следил за руками и за тем, что я леплю, и контролировал поэтапно. Прежде, чем менять старый код, я его прочитываю и осознаю до последней строчки. Можно и простительно забыть, как это работало, особенно если решение изящное на грани с крамольным, но не перечитать и/или не понять — уже халтура. 3) Всё разбито на модули. Взаимодействие между модулями фиксировано вплоть до единиц и масштабов измерения величин. Если одну задачу можно решить несколькими способами, то замена одного модуля на другой не влияет на остальные, вплоть до замены в реалтайме, когда данные бегут. Конечно, глючные модули были! Но выловить их при таком подходе было довольно-таки просто, да и загнать каждый в тиски тестовых конфигураций тоже не вопрос. Разумеется, модули — готовый бинарный код! Какая-то пежня на говноязыке может сегодня так заработать, а завтра — так. Хотя Intel доказал, что и бинарный может, гыы. 4) Надо мной не было ситуации наказуемой инициативы, когда лучше сидеть тихо, чем поинтересоваться, а что будет, если. Картина была такая, что мне всегда лично выгодно было перепроверить всё. И желательно — в составе комплекса. А сколько раз я вылавливал ложные косяки, связанные не с его ошибками, а с неадекватной имитацией реальной жизни! 5) Система сложная, но на качественном уровне она умещается в одной голове. Мне относительно легко удержать все модули и их поведение на качественном уровне, а тонкости все инкапсулированы глубоко внутри. Когда я пишу новый модуль, я очень хорошо держу в голове систему целиком и представляю, что он должен делать и как именно, чтобы не создавать бардак и двусмысленности во взаимодействии. А если таковые приходится делать, то как их строго разделить на две большие группы «до» и «после». Подводя итог — даже у Маска никто на таком уровне не работал, судя по утонувшему блоку, который «двигатели не так включил». Это какое-то очень-очень огромное везение, идеальные условия, и я не знаю, как этот опыт вывести за пределы отдельно взятой головы. Это что-то неформализуемое. Шёл, брилльянт в говне нашёл. Повезло, но к пониманию кимберлита не приближает.