Якост на програмите

от Всичко за 1 лев, свободната енциклопедия

Revision as of 00:37, 19 ное 2010; view current revision
←Older revision | Newer revision→
Image:Underconstruction.jpeg Статията е в процес на разработка!
Съобщава анонимен бригадир и добавя да не го безпокоят.

Якост на програмите е фактор, който определя безброй макро-фактори, и се определя от също толкова микро-фактори. За пръв път е дефиниран от проф. И. Сосков в монографията му "Теория на Програмите", к

Някои от най-популярните фактори за якост на програмата

(Факторите са дадени във формат звездичка-фактор-точки, които дава)

Програмен език:

  • Написана на Пролог: +800
  • Написана на LISP: +800
  • Написана на Ява: +800
  • Написана на LISP с грилове: +1500
  • Написана на език, който не поддържа грилове, с грилове: +500 (нищо не може да се равнява на ЛИСП, но браво за усилията)
  • Написана на C: -100
  • Написана на C++: -200
  • Написана на C#: -500
  • Написана на Visual Basic: -200
  • Написана на Visual Basic .NET: -500
  • Написана на VBasic 1 / дос онли: +1000
  • Написана на QBasic 4.5 и да ползва ХаиМем: +500
  • Написана на QBasic 4.5: +500
  • Написана на QBasic 1.1: +1000
  • Написана на редактор ПЕ за дос: +1000
  • Написана на Паскал 7 / дос-уин: +1000
  • Написана на Паскал 5 / дос-онли: +1000
  • Написана на Делфи 3 / уин онли: +1000
  • Написана на Делфи 6 / уин онли: +1000
  • Написана като Клас / уин онли: +1000
  • Написана като Компонент / уин онли: +1000
  • Написана като Библиотека / уин онли: +1000
  • Написана като Скрипт / всичко онли: +1000
  • Написана като Флаш / нет онли: +1000
  • Написана като Кръпка / Маикрософт онли: +1000
  • Написана като Въшка / Кибертрон онли: +1000
  • Написана като Опен Сорс или Учебно Помагало / Хоме онли: +1000
  • Написана на BASIC за Правец: +50000 и премахва всички отрицателни "бонуси"
  • Написана на Хасемблер за Пентли с макроси : +1200
  • Написана на Асемблер за Пентли: +1000
  • Написана на Асемблер за Пик процесор като изпълнява програмата външно от компа: +9999
  • Написана на Асемблер за нов Атмел процесор като изпълнява програмата външно от компа: +9999
  • Написана на Асемблер за стар Атмел процесор като изпълнява програмата външно от компа: +9999
  • Написана на машинен език: +9
  • Написана на машинен език за Пентли: +8
  • Написана на машинен език за собствено разработен процесор: +7
  • Написана на машинен език за собствено разработен Асоциативен процесор: +666
  • Написана на микропрограмен език за собствено разработен Асоциативен процесор: +666
  • Написана на микропрограмен език за собствено разработен Невронен процесор: +666
  • Написана на OCAAM за Транспютър : +252 000
  • Написана на Асемблер за Огризка (Епъл): +1111
  • Написана на Асемблер за Стара Ябълка (Стар Епъл с Моторолски процесор): +33
  • Преписана за процесор на талафон : +99999
  • Пренаписана за процесор на кореиски талавизор : +88
  • Прекомпилирана за стара тв игра : +77
  • Поорязана и нагласена за изпълнение от контролера на тв дистанционно : + 66
  • Модифицирана за касов апарат "Оргтехника" : +22
  • ПреМодифицирана за цифрово кантарче : +22
  • поорязана за съвместимост с процесор на термометър : +22
  • Украсена с Картинки и заоблени ръбове и с лого "Нвидиа" : +98765
  • Оставена почти без променливи и константи и прекомпилирана за оптичен процесор, сериен: +1
  • за оптичен процесор, паралелен: +1.5
  • записана на фотопленка за холографски компютър за разпознаване на образи : +0.5
  • записана на перфокарта за шивачен стан или ерозиина машина : + 2500
  • презаписана във черно-бяла картинка : +333
  • презаписана във цветна картинка пнг формат : +334
  • презаписана във цветна картинка жпг формат с компресия със загуба: +999999999
  • във формат мпег със компресия със загуба и възстановена и изпълнена без грешки - + 99999999999

Програмистки трикове:

  • Присъствие на infinite loop: +брой на завъртанията на loop-а
  • Присъствие на следното:
if (x == 1) y = 1;
if (x == 2) y = 2;
if x=true then x=false else x=true; / x=not(x)
etc.

+2000

  • Променливи и функции, чието име е не по-дълго от две букви: +100
  • Променливи и функции с имена, които нямат нищо общо със значението им: +200
  • Променливи и функции с много дълги имена, които нямат нищо общо със значението им: +500
  • Променливи и функции с имена, които имат нещо общо със значението им: -2000
  • Правописни грешки в имената на променливите и функциите: negates the above
  • Неизползвани променливи и методи: +500

Стил:

  • Присъствие на коментари в кода: -1000
  • Присъствие на коментари от рода на "Тази програма е много яка", "Тази програма е много трудна", "Тази програма е много интересна": +1000 (като горното не се зачита)
  • Присъствие на коментари, съдържащи неистини: +500
  • Индентация: -500
  • Липса на индентация: +250 и благодаря, че попитахте
  • много самостоятелни модули с по една единствена входна точка : голям маитап
  • много модули всеки с необходимия брои входни точки : брау
  • разделяне на команди и данни и стек : простотия
  • вкарване на данните на наи-удобното място между командите : брау моито момче
  • използване на драивери : ууууууууууу , простациииииииии
  • използване на директен достъп : юнаци
  • разделяне на паметта на сегменти : метод за инвалиди
  • сегментиране и странициране : верния път към геи братството
  • виртуални адреси : леко бременна с простотия
  • едномерната памет : само за идиоти маниаци
  • усилено използване на стек за запомняне на променливи и прехвърляне на стоиности : тъпотия до шия
  • риск архитектурата - наи-рисковата архитектура за програмистите, рискуват и нищо не печелят
  • интелските процесори - само за интел (само те знаят че произвеждат Процесори)
  • плуг и плеи технологията - никои не я е виждал как работи
  • забрана за запис в константите : + 100
  • забрана за запис в изпълнимия си фаил от ос : +1000
  • налагане на отделен конфиг фаил : +6666
  • компилиране в ексе формат : -50 000
  • компилиране в свободен бин формат : +22 000
  • съвместимост с всичко , каквото и да е : - 99 999 999 999 999
  • пренаписване на модул за процесор на климатик на ява с цел съвместимост с отдалечен луникс сървър : -200 000
  • операционните системи са единствените които могат да изпълняват програми...не съществува компютър без ос : ууууууууу неграмотници
  • наи добрите ос са рекламираните по нета - джам,луникс и огризката....
  • няма компютър без фаилова система : - 44 444
  • няма компютър без екран  : - 44 444
  • няма компютър без интернет  : - 44 444
  • компютър без интернет е като печка без котлони - велика мисъл на магазинер от техонополис... а аз бих казал - като електрожен без електроди :)))
  • всички компютърни връзки се осъществяват прекодирани през тцп-ип или удп или други общо известни протоколи...
  • записване на настроиките в ини или хмл формат или в регистъра: - 55 555
  • записване на настроиките на програмата през скаипа в компа на комшията или директно в феисбука : + 99 999 + джакпота
  • записване на настроиките на програмата като картинка и разчитането им с оцр софтуер : + 99 999 + джакпота

Сорса :

  • на текстов фаил : - 200
  • на спец формат за компилатора : - 22 000
  • на формат за фотошоп : - 3333
  • на PowerJoint : - 3333
  • на лист с химикал на беисик за правец : +200
  • лист откъснат от сп.Млад Конструктор за Правец : + 400
  • на лист с шестанистични цифри за стар процесор : +500
  • на ученическа тетрадка на гърба с шестнаистични цифри за машинен код за 386 под дос : + 800
  • на салфетка в ресторанта : БАНски старец краде сорс

Програмата :

  • компилирана до ексе : ууууууууууууу леваци
  • компилирана до ком : бива
  • записана с хекс редактор в бин фаил , преименуван на ком за дос : бива
  • натракана на клавиатурата на Правец : уф уморих се, днеска дваисди пъти я вкарвам и все се рестартира
  • записана в Епром за едноплатков : брао моито момче
  • записана в резисторен РОМ : +6
  • записана в диоден РОМ : +6
  • записана в флаш памет - склеротирала : -10
  • записана в магнитна памет : +6
  • записана в оптична памет : +6
  • записана в холографска памет : +6
  • натракана на клавитура QWERTY : - 22 000
  • натракана на шестнаистична клавиатура : +20
  • натракана с два бутона 0 и 1 на едноклетъчен програматор : +50
  • наредена с джъмпери по платката или панела (стругове) : +200
  • перфорирана с перфоратор на картонче : +500
  • изрязана с ножица по картонено кръгче (за стара кибернетика) : +2000
  • с тебешир на тротоара и после прехвърлена на лист от тетрадка : +400
  • с машина за осеви линии, кодирана като осева линия по морзовата азбука : + 666
  • изсвирена със съдииска свирка по двоичната система : +300
  • предадена от моряк с две флагчета по международната система за известяване : +555
  • приета по телетекста на талавизора : - 200
  • приета през булсаткома : - 500
  • приета при СЕТИ от извънземен разум програмист : + 999 + бонус за магазин Плюс
  • записана на ДНК : - 24999
  • записана върху соева днк : - 30 000 (соевата днк е наи евтината флашка, събира над 500 000 филма , игри и музика)
  • кодирана в рекламите на WS Teleshop , нарязана ситно на модули и променливи с редне Виорнер, разбъркана с ултра миксера , изчистена от бъгове с мощната прахосмукачка и ошлаифана до блясък с чудната пароструика : + 99 999


(Латерната е най-старата програмируема машина)

Автор:

  • Microsoft: +25000
  • Linus Torvald: +24999
  • Apple: +24998
  • KiberTron: +24997
  • Всички останали: -25000
Лични инструменти