juan_gandhi: (Default)
[personal profile] juan_gandhi
Т.к. есть такое европейское мнение, что рефакторинг - это метросексуальный аджальный метод продажи навоза юзерам, то я вдруг задумался - а что в Европе делают, когда их хакают и информацию воруют? Ну понятно, против воровства в Европе есть законы, например, GDPR; а в Швейцарии так даже масс шутинги запрещены (это мне швейцарцы когда-то сказали); но вот если случилось, так что тогда? Компьютеры сжигают на свалке, покупают новые, и пишут для них новые программы?

Ведь, я слышал, в Европе сначала на Z-notations и на Rational Rose весь дизайн правильно напишут, так что европейская программа не может быть неправильной, так что и рефакторить там нечего. Она совершенна.

И вот если она сломалась, то чо. Неужели с нуля переписывают?

Тесты-то понятное дело что не нужны; программист выполняет приказ менеджера, а менеджер не может ошибаться; и только плохой программист пишет код с ошибками. Немецкий код работает везде и без ошибок. Ой, тут сразу вспоминается Энигма, и три ушлых поляка, которые ее кракнули как раз перед Второй Мировой. 

Date: 2018-03-10 09:56 am (UTC)
From: [personal profile] sassa_nf
(I do get your jest, but can't help to expand on it)

No, not of correctness, but only that the corresponding theorem is proven.

Example:

Function a: List -> b: List sorts list a, if b_i <= b_(i+1) for all i.

Then functions

duh _ = []

duh2 xs = [head xs | _ <- xs]

clearly satisfy that theorem.

So one needs to start with the correct theorem involving a proposition that the output list is necessarily a permutation of the input list. How does one prove the "correctness" of the theorem?
Edited Date: 2018-03-10 10:45 am (UTC)

Date: 2018-03-10 02:14 pm (UTC)
From: [personal profile] bamalip
Проблема будет только с непроверяемостью самого ТЗ (с верхнеуровневой теоремой). Если же неправильно написаны промежуточные требования к модулям (более низкоуровневые леммы), то это сразу всплывет, поскольку из них невозможно будет вывести-собрать главную теорему.

Date: 2018-03-10 05:05 pm (UTC)
From: [personal profile] sassa_nf
:) звичайно!

і проміжок між "треба відсортувати" (постановкою ТЗ) та записом у вигляді теореми.

Date: 2018-03-10 07:06 pm (UTC)
From: [personal profile] bamalip
Ну конкретно цей приклад (сортування) ближчий до бібліотечної леми. Хоча проблема дійсно існує. Написали специфікацію на супутник, а він потім не туди полетів. Бо не туди написали.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

July 2025

S M T W T F S
  12345
6789 1011 12
13141516171819
20212223242526
2728293031  

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 13th, 2025 01:18 pm
Powered by Dreamwidth Studios