Coders Dos and Don’ts

0 коментара

Публикувана на 26.04.2009 от Lucho в Dev

Нерядко се натъквам на много дразнещи писания и идеи и мисля, че е време да си излея мъката. Мразя заклеймяването на някого като „младши програмист“ или „нууб“, но просто има граници, които не трябва да се прекрачват и неща, които трябва да се забранят със закон. Ще спомена няколко от тях, за които не се говори толкова много – няма да обеснявам, че трябва да се спазват конвенции или че не бива да имате празен кеч блок и подобни всеизвестни работи.

1. Булеви сравнения

if (bool_var == true) { …

За всеки здравомислещ човек е ясно, че този запис е абсолютно излишен и е достатъчно да се напише „if (bool_var) {…, останалите нездравомислещи хора ще се оправдаят, че така кода е по-четим – дрън дрън! Този запис не само че не е по-четим, ами е грозен, по-дълъг и в някои случай даже объркващ.

Следния код е още по-фрапантен:

if (bool_var == true)  {

return true;

} else {

return false;

}

Пет излишни реда за да се постигне ефекта от „return bool_var„. Ако някой седне да чете кода и види подобни писания вероятно първо ще се зачуди какво сте имали предвид, после ще реши, че сте абсолютни нубове, а и прочитането на 5 реда и разбирането им е по-трудно от колкото прочитането и разбирането на един (изключваме разни функционално ориентирани езици, където един ред може да достигне стотина символа).

2. One Language Warshipers

Един феномен, характерен за повечето започнали работа наскоро е издигането в култ на езика, на който пишат. Особено характерно е за Java и C# (.NET) дивелъпърите. И тея хора като почнат да се прехласват и да разправят колко е велик единствения език, който са виждали и направо ми иде да… напиша някой ред в блога ми за тях :-) . Та хора, всеки език има някакви предимства и собствен „чар“ пред другите. Неможе да ми обяснявате колко е велик Java за web (за малък до среден клас сайт) понеже ми се е налагало да се боря с него и има много куци неща, които разни други езици и фремуъркове са преудоляли успешно. Това че във фирмата където работите ви карат да пишете на опредлен език, защото системата им вече работи по този начин и няма връщане назад, не значи че пишете на нещо, което си заслужава. И даже и езика и технологията, която ползвате да е много добра в дадена област, това не означава че може да отворите файл и да запишете един низ вътре на един ред например и че няма много по-елегантни и приятни езици.

Човек трябва да е опънмайндед и да иска да научи повече и повече, а не да се забие в първата срещната технология. Светът не се състои само от Java и C#, в него има и други езици C, C++, Objective C (за маковски работи), Python, Perl, Ruby, PHP (недейте моля) und so weiter (има още много наистина), част от които са по-бързи, други по елегантни за писане, трети просто по-лесни. Всеки един от тях изисква специфичен начин на мислене и предлага различни концепций и когато човек реши, че само един единствен му е достатъчен определено се осакатява професионално, при това много жестоко.

3. Разбираемо писане vs. Оптимално писане

Под разбираемо писане имам предвид структуриран код, в който поне автора се оправя и знае кое какво прави… това често не е най-оптималния, най-добрия от към пърформанс код. Добра практика е след написването на разбираемия код да го превърнете в оптимален, ако има нужда де. Лошата (ама много лошата) практика е да напишете така кода, че да е с висок пърформанс, но след две седмици като ви докладват бъг, да се чудите къде и какво да пипате или ако се наложи някой да пипа по кода, да не му отнеме месец докато разбере, че записвате GPS кординати в int като местите побитово за да запишете всеки градус, минута и секунда :-D . Та за начало, нека всичко е написано разбираемо и по лесния начин и за всеки неразбираем ред най-добре да има коментар, пък после, живот и здраве, с моторната резачка и с разни грозни хакове, може да се докарат нещата до по-оптимален и грозен вариант (може би в 99% от случаите, този параграф изглежда странен, но ако пишете за J2ME или друга платформа с много ограничени ресурси, може да е доста полезен).

To game or not to game :?

0 коментара

Публикувана на 16.04.2009 от Lucho в Социални

Днес гледах един интересен ТедТок. Темата беше дали видео игрите имат положителен ефект върху геймърите. Аз като виден неотдавнашен геймър си имам мое мнение, което не съвпада с повечето други.
Видео игрите са нещо полезно и прекаляването с тях, даже и пристрастяването са от полза. Ползата идва от там, че хората привикват да работят с компютъра, свикват с графични интерфейси и въобще да се оправят с нещата.
90% от хората, които не са играли на игри и не са били геймъри, нямат понятие от елементарни неща, като как да си видят IP адреса например. От друга страна 90% от заклетите геймъри са олигофрени, но това вече е друг въпрос.
Насилието и мейчър кънтента в игрите не е толкова страшно колкото го изкарват. Застрелял съм хиляди терористи и контри на CS и не мисля, че някога ми е хрумвало да взема една пушка и да застрелям десетина души в старото ми училище (не че не е имало поне десет, които са си заслужавали). Рейсинг симулаторите също са от полза, съдейки по себе си. Знам как да карам по-екстремно и за сега не съм умрял, имено защото знам, че в завой с голяма скорост се излиза с много газ и че има една идеална крива по която се взима успешно (иначе може и да не е толкова успешно :D ). Естествено, това че си изминал хиляди мили зад монитора не те прави шофьор, но определено ти помага. Най-малкото като се качих за първи път на картинг, имаше доста общо с TrackMania например и определено карах все едно карам от отдавна.
Има и още нещо, което хората може би не забелязват. Игрите покачват адреналина, но и създават ендорфин и то в доста по-големи количества и това ги прави наркотик и имено за това хората се пристрастяват към тях, но това е времено… поне при мен беше. Един ден всичко, на което цъках ми беше омръзнало и сега от време на време, 2-3 пъти в годината, се случва да се заигравам за по седмица макс. Та споко заклети геймъри – това е временно положение, все някога ще се върнете към реалния живот – работа, учене, скука… и тогава ще си спомняте за якото време, което сте изкарвали пред компа, влагайки усилия и нерви в нещо напълно безсмислено, но поне забавно.

Мъка, мъкаааа….

0 коментара

Публикувана на 16.04.2009 от Lucho в Нонсенс

Предупредиха мe колко скапан може да е wordpress-a и май почнах да се убеждавам… Оказа се че не е чак толкова простичко да преведеш темата, която ползваш. След като преведох дифолта и нищо не стана потърсих в гугъл. Ок, разбрах как да си прекръстя файла, който държи превода, НО изненада – трябва да си изтегля някакъв ГНУ туул, с който да компилирам превода до някакъв машинен обект..WTF!?!?!

Още по-изненадващо е че тоя туул има порт за Windows, и като всичко GNU идва под формата на сорс без билд. Инструкцийте за компилиране са 200+ реда. В резултат на това ще се бутна под Убунту и ще си изгубя още сумати време.

Трябва да компилирам туула, който да компилира превода ми за да имам тема на български… гнусен парадокс :-|

Hello World!

2 коментара

Публикувана на 15.04.2009 от Lucho в Нонсенс

Ето че и аз най-накрая имам блог, в който ще пиша неща които никой няма да чете! Важното обаче е да не страня от тренда и да мога да пиша някъде нещата, за които се сещам. Мисля че това ще е един типично geek-blog с правописни грешки и разни криворазбрани концепции, с доста английски термини и глупости :)
Защо избрах dailyffs за домейн ли? Ами преди няколко месеца посетих dailywtf (com/net/org или нещо друго) и не че имаше някакви римаркъбъл статии, но домейна е просто покъртително як. Та така откраднах идеята… вероятно няма да е дейли, някой от нещата няма да са ffs, но ще се постарая.

Switch to our mobile site