The code

69 отговора 2784 прегледа
в отговор на Skotowydec #61

Re: ако това е вярно, от утре ставам жабар!

>Това, ей богу, не ми е ясно как може да се използва практически
>от Java/C#

едва ли ще е по-различно от memory map-овете на python. доколкото знам интерфейса за езика е еднакъв и на юниксите се прави mmap(), а на уиндоуса - с неговите си апита.

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Mycлoн #62

Re: ако това е вярно, от утре ставам жабар!

Въпроса не е за АПИ-тата, а как се използва фиксиран, "чужд" в някакъв смисъл блок памет от език, в който няма указатели? Ако заредиш просто някакво голямо количество "сурови" данни, например пиксели или слабо структурирани таблици, добре, ще работиш с тях като с масив от байтове или интове, обаче обекти вероятно не можеш да заредиш така.

Отговор
в отговор на Questor #63

:-)

А може би просто му плащат на ред

В такъв случай пичът е гениален!

I sometimes fancy myself as an evil which exist to opose other evils
Отговор
в отговор на Лeйди #64

Re: :-)

Мда - един познат 'експерт' твърдеше, че нарочно пише гадно, за да може само той да си го поддържа.

Е - мнението на останалите беше, че просто само така си може.

Отговор
в отговор на Лeйди #65

Re: :-)

:)))

Майтапа настрана, в някои доста известни и уважавани фирми е практика нарочно да се пишат нещата зле, за да се плаща после стабилна месечна такса за съпорт.

Така че писането на лош код може да е бизнес, ако се изпълни по-правилния начин :)

Отговор
в отговор на dummy #66

Re: The code

Както във всяка професия, така и в програмирането има ментета. Друг е въпросът, че някои хора с времето се научават как се пише качествен програмен код, а други за цял живот си остават "леймъри" в програмирането, ако могат така да се изразя.

На мене ми е писнало да гледам всеки ден такъв код къде ли не. Виждал съм го в сорсове на Oracle, в сорсове на Sun, в десетки open-source проекти и из много commercial софтуер, по който нещо все трябва да се бута и все на българчетата го дават.

Даже невремето бях правил курс във ФМИ за това как се програмира качествено и как като пишем код да не пишем бози. Според мен в образованието на един програмист освен за десетките технологии и езици за програмиране трябва да има отделено време и за научаване как се пише качествен програмен код.

Жалко е, че дори в най-престижните U.S. университети такова нещо не се учи. Това мога да си го обясня само по един начин - университетите са места, където се учи теоретично науката, а не места, където човек става програмист. Има голяма разлика между computer science и програмиране.

Дано не съм ви досадил с мойте философски разсъждения.

Светлин Наков
[линк]
Отговор
в отговор на HAKOB #67

Re: The code

Ами нормално е (за съжаление) да няма подобен курс в университет, защото до такова знание (как да се пише код без глупости) се стига след адски много практика и грешки - а както знаем повечето преподаватели нямат почти никаква реална практика.

Между другото, критериите кое е код без глупости са много субективни и преходни. Значи убеден съм че преди 30 години критерият за най-добър код е бил минимална тежест в килограми на изразходваните перфокарти. Някои хора си имат едни представи за нещата, други съвсем различни. В предишната фирма, в която работех, повечето хора пишеха безумен код
и бяха абсолютно убедени, че това е гуру код по най-различни абсурдни за мен причини, като "така изглежда хакерски", "на С++ така се пише", "спестява редове" и прочие. Примерно имаше един пич, който беше решил, че умножението по 2 взимало много ресурси в дадена програма и го правеше със битово шифтване на ляво. Някви ей такива абсолютни глупости.

Забелязвам, че колкото е по-опитен и добър един програмист, толкова кода му е по-опростен, изчистен и ясен дори за начинаещи. Виждал съм код на пичове от Майкрософт, който е така добре написан, подреден и най-вече, имената на функциите и променливите са така добре подбрани, че общо взето дори няма нужда от коментари, за да се разбере от пръв поглед за какво става дума. "Хакерски" номера от сорта на:

c = b = a++;
if ( (a = --b) != c)

и сякви такива глупости просто няма в код на опитни програмисти.

Отговор
в отговор на Guru #68

Re: The code

samo deto taka i ne razbrah kakvo mu e "hakerskoto" na tova ;)

Te m'chetata otde da znajat, che sled tva kompilatora taka ili inache she go naprai syshtoto, nezavisimo dali e polvin ili 5 reda, samo deto shte se gyrchi poveche, ama kat nikoga ne sa otvarjali ".asm" file.

Отговор
в отговор на synchu #69

Не си съвсем прав

Понякога ако се опитваш да напишеш код A можеш да го замениш с код B, или C, но не можеш да замениш B с C. Ако напишеш B вместо A, а C e най-доброто ще остане B в кода. Затова най-добре да се пише точно каквото се иска, а не да се хитрува. Компилаторите отдавна са достатъчно хитри. М/у другото умножението по 2 го правят със събиране, не с изместване.


System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_
Отговор
в отговор на HAKOB #70

Re: The code

Ами така си е.
Code Complete by Steve McConnell
Writing Solid Code by Steve Maguire

Това са Книгите!

Отговор