Хардкодната тема

aasenov

New Member
Здравейте,
с едно приятелче водим спор дали е вредно и дали има смисъл да се хардкодва темата. На моите 2 сайта аз съм им писал темите, понеже не можах да си харесам и са натракани хардкод отвсякъде - едно, че не мога/не ми се занимава да слагам options framework. Две че има някакво минимално подобрение в перформанса. Моя приятел е в пъти по-добър програмист от мен и ми казва, че хардкодването е глупаво, против всякакви добри практики и не си заслужава усилията. Аз не мисля, че е чак такъв проблем за сайтове които са установени и развити.
Вие как мислите?
 
Аз съм ЗА само когато е малко това кодване. Ако се попрекали с готова тема, започват да бягат някои неща. Днес ми се случи това. Докато нагласях нещо, друго бягаше и така. Приятеля ти е прав, ако се правят на ново вече уж направени неща. Ти си прав, ако имаш в предвид смяна на някой малки неща. Но зависи кой под какъв ъгъл ги гледа. Аз като непрограмист или поне все още, смятам, че типа и броя промени ще реши спора ви. Иначе съм бил в двете крайности - да хванеш нещо готово да го сдъвкаш и после да го изплюеш и нагласиш отново, както и да се прави нещо от 0-лата, защото няма все още такова правено. И пак отговорът би бил в това колко е това кодене, поне според мен. :)
 
От: Хардкодната тема

Какво имаш предвид пред харкодната?

Принципно може да се спести доста overhead.
Примерно аз забивам неща като WP_HOME, WP_SITEURL във конфига. За чий са ми излишни заявки към БД.

Много зависи за какво е темата, ако смяташ да е reusable не е добре.

Аз съм ЗА само когато е малко това кодване. Ако се попрекали с готова тема, започват да бягат някои неща. Днес ми се случи това. Докато нагласях нещо, друго бягаше и така. Приятеля ти е прав, ако се правят на ново вече уж направени неща. Ти си прав, ако имаш в предвид смяна на някой малки неща. Но зависи кой под какъв ъгъл ги гледа. Аз като непрограмист или поне все още, смятам, че типа и броя промени ще реши спора ви. Иначе съм бил в двете крайности - да хванеш нещо готово да го сдъвкаш и после да го изплюеш и нагласиш отново, както и да се прави нещо от 0-лата, защото няма все още такова правено. И пак отговорът би бил в това колко е това кодене, поне според мен. :)

Когато направиш нещо читаво обикновено ти се иска да го използваш пак, така че да се следват best prаctices от codex-a е препоръчително.
 
Re: От: Хардкодната тема

Когато направиш нещо читаво обикновено ти се иска да го използваш пак, така че да се следват best prаctices от codex-a е препоръчително.

За себе си само най-доброто. Говоря за спазване на правилата и аз, не мазане по нещо. Макар, че в повечето случаи се стига до там, просто защото и предишния е мазал или го сглобявал грубиянската. :)
 
От: Хардкодната тема

Какво имаш предвид пред харкодната?
Темата няма панел за опции в таблото и като трябва да променя нещо си го променям направо по файловете.

Когато направиш нещо читаво обикновено ти се иска да го използваш пак, така че да се следват best prаctices от codex-a е препоръчително.
За това съм напълно съгласен, но инцидентно се наложи да се се направи сайта и не мисля, че ще ми се наложи пак да ползвам темата. Ако се наложи сигурно много ще ме е яд :mrgreen:
 
От: От: Хардкодната тема

Темата няма панел за опции в таблото и като трябва да променя нещо си го променям направо по файловете.
Давал съм $$$ за теми с много опции и после съм преправял всичко.

Достатъчно е да се отделят нещата в конфиг (щом е за собствена употреба). Опциите в панела са за lame users, които нямат идея какво правят.
Винаги съм казвал, че няма смисъл от 100К код за управление на опциите на нещо което е 20К код.
 
От: Хардкодната тема

За мен всичко е според зависи. Няма да крия, че съм любител на кльопаницата (така де.. хардкадването :D ), но си има своите недостатъци. Обикновено си мажа по проекти, които съм сигурен, че само аз ще си ги ползвам и ще ги ползвам само за веднъж. От друга страна, когато подготвяш някаква функционалност и ще я слагаш на много места или го пишеш за клиенти, по-добре да го направиш като хората. Ще дам и един много прост пример с една случка от преди доста време.

Клиент искаше, нещо което беше по-лесно да се хардкодне и като време и като изпълнение, но изключих да предупредя, че не е добра идея да се ъпдейтва темата след това и съответно един слънчев ден ми пишат, че нещо е станало с сайта и не работят функциите, които съм правил. Веднага ми светна причината и съответно питам клиенти-а а той... "Ами да... като се замисля ъпдейтвах темата...". Няма да споменавам колко благославях след това, че не бях си запазил и копие от код-а и трябваше да го пренаписвам наново :)

Та в тия случай, когато се прави за клиент е по-добре да го направиш като хората и да предвидиш, че това, което пишеш ще го ползва и някой друг (вероятно с не много познания по WP).
 
От: Хардкодната тема

За мен всичко е според зависи. Няма да крия, че съм любител на кльопаницата (така де.. хардкадването :D ), но си има своите недостатъци. Обикновено си мажа по проекти, които съм сигурен, че само аз ще си ги ползвам и ще ги ползвам само за веднъж. От друга страна, когато подготвяш някаква функционалност и ще я слагаш на много места или го пишеш за клиенти, по-добре да го направиш като хората. Ще дам и един много прост пример с една случка от преди доста време.

Клиент искаше, нещо което беше по-лесно да се хардкодне и като време и като изпълнение, но изключих да предупредя, че не е добра идея да се ъпдейтва темата след това и съответно един слънчев ден ми пишат, че нещо е станало с сайта и не работят функциите, които съм правил. Веднага ми светна причината и съответно питам клиенти-а а той... "Ами да... като се замисля ъпдейтвах темата...". Няма да споменавам колко благославях след това, че не бях си запазил и копие от код-а и трябваше да го пренаписвам наново :)

Та в тия случай, когато се прави за клиент е по-добре да го направиш като хората и да предвидиш, че това, което пишеш ще го ползва и някой друг (вероятно с не много познания по WP).
Като научиш какво е дъщерна тема и как се ползва, тия проблеми внезапно изчезват от самосебе си. Не знам с каква съвест мажете (щото сте много такива) върху код, който нямате ангажимент да поддържате и отрязвате всякакви бъдещи ъпдейти. Още по-интересно ми е как успявате да намирате клиенти, които на всичкото отгоре и ви плащат за тая работа.

По темата: ако е за мен само и не е нещо дето се ъпдейтва често, не виждам смисъл да му правиш специален интерфейс. Най-много да си го коментираш/документираш на местата, дето имаш съмнения, че може да не схванеш лесно какво и що си го правил.

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

Като научиш какво е дъщерна тема и как се ползва, тия проблеми внезапно изчезват от самосебе си. Не знам с каква съвест мажете (щото сте много такива) върху код, който нямате ангажимент да поддържате и отрязвате всякакви бъдещи ъпдейти. Още по-интересно ми е как успявате да намирате клиенти, които на всичкото отгоре и ви плащат за тая работа.
Аз преди като бях прост и не бях виждал WP питах google за best practices и слава богу не съм имал такива ядове. Първото ми WP още се търкаля с дъщерната тема и един плъгин в който съм наблъскал функционалността, която не е theme specific.

По темата: ако е за мен само и не е нещо дето се ъпдейтва често, не виждам смисъл да му правиш специален интерфейс. Най-много да си го коментираш/документираш на местата, дето имаш съмнения, че може да не схванеш лесно какво и що си го правил.
Ако под хардкод се разбира 20 пъти повторение на един и същи стринг в сорса - това си е за бой. Има си константи за тая работа.
Ако за 5 опции, които могат да дефинират на едно място в конфиг трябва да се пише УИ е безсмислено, освен ако не смяташ да го продаваш на маса леймъри, които иначе ще те побъркат от тикети.

Ако ползваш собствени дъщерни теми и плъгини, то всичко и без това ти е отделено и е лесно да си видиш твоите мацаници. Писане върху чужди теми и плъгини, а не дай си боже и по ядрото = абсурд, който трябва да се наказва с коленичене до някоя канавка и разстрел. Изключение - ако решиш да "осиновиш" или форкнеш дадената тема/плъгин и поемеш задължението да си поддържаш/ъпдейтваш твоята си версия.
True story bro !!!
 
От: Хардкодната тема

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

По темата: ако е за мен само и не е нещо дето се ъпдейтва често, не виждам смисъл да му правиш специален интерфейс. Най-много да си го коментираш/документираш на местата, дето имаш съмнения, че може да не схванеш лесно какво и що си го правил.

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

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

Дали ще мажа върху код-а на тема/плугин мисля си е лично моя работа (щом лиценза на темата/плугина го позволява), а дали съм за разстрел не знам. Явно за теб съм, така, че ако имаш желание и пък към област Ямбол, можеш да ми пишеш едно ЛС да ти дам и точен адрес да заповядаш да ме разстреляш (аз сам ще се наредя до канавката клекнал :) ).

Като вземете да се дървите и да се правите на големи специалисти, направо ставате смешни. От личен опит знам, че именно тези дето са много принципни и спазват "добрите практики", най-често го карат през просото, когато пишат код. (има и изключения, но май са рядкост).

За пореден път се убеждавам, че някой хора в предприемача пишат отговори в темите, само ако има и за какво да се заядат с някой. :)
 
От: Хардкодната тема

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

Дали ще мажа върху код-а на тема/плугин мисля си е лично моя работа (щом лиценза на темата/плугина го позволява), а дали съм за разстрел не знам. Явно за теб съм, така, че ако имаш желание и пък към област Ямбол, можеш да ми пишеш едно ЛС да ти дам и точен адрес да заповядаш да ме разстреляш (аз сам ще се наредя до канавката клекнал :) ).

Като вземете да се дървите и да се правите на големи специалисти, направо ставате смешни. От личен опит знам, че именно тези дето са много принципни и спазват "добрите практики", най-често го карат през просото, когато пишат код. (има и изключения, но май са рядкост).

За пореден път се убеждавам, че някой хора в предприемача пишат отговори в темите, само ако има и за какво да се заядат с някой. :)
Нека позная - прекарваш доста време в "другия" форум? :) Да зема по-добре аз да ти дам адрес, че изглеждаш по-мотивиран?

Да вършиш такива неща срещу заплащане = скам. А скамът в настоящото къмюнити е задължително да бъде охейтвано. Да не говорим, че ти давам фрий консултация в момента и в крайна сметка ще излезеш на далавера ако се вслушаш. А щом е фрий, мога да го доставям в какъвто вид ми е забавно :)
 
От: Хардкодната тема

Нека позная - прекарваш доста време в "другия" форум? :) Да зема по-добре аз да ти дам адрес, че изглеждаш по-мотивиран?

Да вършиш такива неща срещу заплащане = скам. А скамът в настоящото къмюнити е задължително да бъде охейтвано. Да не говорим, че ти давам фрий консултация в момента и в крайна сметка ще излезеш на далавера ако се вслушаш. А щом е фрий, мога да го доставям в какъвто вид ми е забавно :)

Време за глупости нямам, просто виждам, че изяви желание да раздаваш "справедливост". Все пак, ако желаеш, прати ми на ЛС адрес и телефон, аз ако имам път натам, може да ти се обадя, та да ти начеша крастата. :D

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

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

Относно консултацията, благодаря за нея, но в случая беше напълно излишна. Знам що е child theme и как се прави, но в случая всеки сам избира кое му е по-удобно. След като въпросният код не планирам да го предлагам за масова употреба или срещу заплащане, не мисля, че трябва задължително да следвам добрите практики.

Ако вземем примера с сиренето от магазина, предполагам ще се съгласиш, че няма как да си купиш сирене за левче и да очакваш да е същото качество, като това от 10 лв.
 
От: Хардкодната тема

Време за глупости нямам, просто виждам, че изяви желание да раздаваш "справедливост". Все пак, ако желаеш, прати ми на ЛС адрес и телефон, аз ако имам път натам, може да ти се обадя, та да ти начеша крастата. :D

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

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

Относно консултацията, благодаря за нея, но в случая беше напълно излишна. Знам що е child theme и как се прави, но в случая всеки сам избира кое му е по-удобно. След като въпросният код не планирам да го предлагам за масова употреба или срещу заплащане, не мисля, че трябва задължително да следвам добрите практики.

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

Стабилно момче изглеждаш иначе и съм сигурен, че няма да кривваш много от правия път :)
 
От: От: Хардкодната тема

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

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

Бе ще станем ние с тебе приятели... ами на маса трябва да се седне за такива спорове. :) :) :)

Не се съмнявам, че имаш повече опит и знания в сферата от мен, но някак все не мога да свикна така остро да ми влизат. Приемам забележката ти и донякъде съм съгласен с нея, но все пак винаги има изключения. :)
 
От: Хардкодната тема

Значи, ако трябва да се формулира с едно изречение, за персонален проект които няма да се ползва другаде не е проблем да е хардкоднат, дори е по-добре от към перформънс, докато в другите случаи е контрапродуктивно.
 

Горе