Това, което ще прочетете или няма да прочетете по-надолу е тотален офтопик. Няма да кажа нищо технически свързано към проблема, а само ще направя един анализ на всички изговорени неща (написани мнения, не само в тази тема, а).
Ще говоря само в 1 л. / ед. ч. Така виждам аз нещата. Не целя да обидя никого, по никакъв начин. Споделям моето наблюдение и история през годините.
Нека започнем от заглавието на темата – „
Проблем със сайта“. От тук мога да направя извода, че автора си няма напредстава какъв е проблема за това не е дал по-описателно заглавие. Което е напълно човешко, всеки е започнал от някъде.
Защо трябва да имаме описателни заглавия?
Погледнете на този форум не като на инструмент, който да решава вашите проблеми, а като една огромна база данни със знание. Знанието е изключително важно. И още по-важно е да го споделяме. Имайки описателно заглавие, търсенето на даден проблем става изключително лесно. Почти всеки проблем е бил дискутиран и решенията са налице. Затова е интернет толкова полезно средство.
Sharing is caring.
Всеки език си има документация. Всяка функция е описана. Всеки резултат на тази функция също. Поглеждам към самия въпрос (за да разбера какъв е този проблем със сайта):
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in (...)
Виждам, че има и указан ред в грешката, автора е дал какво отговаря на този ред. Обаче всяка програма, всеки скрипт е съвкупност от функции/променливи/логика и рядко един ред код дава представата за самия проблем. Споделянето на допълнителна информация е плюс, както за автора така и за хората, които имат желание да помогнат.
Каква е ползата за автора?
Да речем, че имам проблем. Блъскам си главата цял час, два, ден... Нормално е. Всеки забива някъде. Подготвяйки един структуриран и ясен въпрос ми дава възможност, докато се опитвам да обясня своя проблем, да погледна на нещата от друг ъгъл. Много често ми се е случвало да реша проблем, докато се опитвам да го обясня на друг човек (понякога и непрограмист). Дори за този метод си има статия в Wikipedia -
http://en.wikipedia.org/wiki/Rubber_duck_debugging
Решенията са във въпросите
, в повечето случаи.
Каква е ползата за другите?
Всъщност, замисляйки се по този въпрос, каквото и да напиша тук, ползите са огледални. Ако кажа, че на другите ще им е по-лесно да асимилират този въпрос и да дадат някакво решение, + има и за автора. Ако кажа, че възможността въпроса да бъде подминат, тогава + има отново за автора.
Заглавие, което е кратко обяснение за въпроса (не прекалено дълго, но не и прекалено кратко), може да хване окото на някого, който е срещал подобен проблем. Пример:
„Проблем със сайта“ – не ми говори нищо, може да не е нещо интересно за мен, може да не е в моята област
„Грешка при извличането на информация от MySQL” – изникват въпроси в главата ми: дали е грешка във връзката с базата данни, дали е проблем в самата заявка, може и сървърна грешка да е
Описателни заглавия хващат окото повече, отколкото неясните такива.
Съдържание на самия въпрос – то трябва да бъде максимално описателно. Приложен код, достатъчно за да се възпроизведе самия проблем, но не да си пейстнеш целия проект, от 12334412312 файла с 128397123 реда спагети код. Изброени случаи, които вече са били изпробвани и резултатите от тях. Какво сте пробвали, как, къде? Задавайки добър въпрос шансовете ви за добър отговор скачат доста.
Виждайки един добре зададен въпрос, хората, които четат вашата тема виждат, че вие сте заинтересовани достатъчно. Това привлича повече и повече хора да отговарят. Предизвиквате любопитство у тях, те започват да дебъгват с вас.
Въпроса е зададен, съфорумниците са започнали да отговарят. Темата върви.
Имайки впредвид кода, който е даден и проблемите, които се опитвате да изчистите, с ръка на сърцето мога да заявя, че това е излишна гимнастика. Решението е да се пренапише с up-to-date методи.
Програмирането, а и като цяло всичко в ИТ-то е млад занаят, променя се всяка година/месец/ден. Трябва всяка технология, която ви е грабнала да я следите. Защото всичко се подобрява. Няма перфектно нещо, което да не е мръднало, откакто е било съзадено.
Също така проблем, който съм забелязала с годините във форума. Копирането и слепянето на кодове. Това не ви прави програмисти. Взимайки файл/“скрипт“ от някъде и добавяйки го във вашата „система“ не ви прави програмисти. Писането на функции в разни файлове инклудвайки конфизи, бан системи, статистики – това не е програмиране. Програмирането е мислене – 90%. Уроците, които има тук, а и навсякъде в интернет не са готови решения. Те са предоставени по този начин, който е незавършен с идеята да се обяснят функции/идеи/методи за дадено нещо.
И аз съм била там, и аз съм правила това. Разбирам. Но се стига един момент, в който лепиш/мажеш/зидаш хиляди редове код, от които грам не разбираш дали работи или не работи и по-лошото не знаеш как. Разчиташ на форуми, хората да ти оправят грешките от 3-те инклуднати конфига. Връзката с базата данни за теб е файл. „Контролния панел“ на потребителя е скрипт. Гласувания и прегледи на дадено видео са просто 3 реда код, който пействаш, където ти кажат.
От този форум съм научила много. Срещнала съм много хора и съм направила добри приятелства. Отдавна гледам как се задават неясни въпроси и неясни отговори биват давани. Да отделиш време, да споделиш проблем или да помогнеш с нещо е прекрасно. Ако не бъде правено по правилния начин, взима да става безполезно и безмислено.
Давайте решения, давайте идеи, давайте предложения за подобряване на дадена логика/код. Не пестете думите си.
Protips:
1. Всеки search engine е първи приятел на програмиста.
2. StackOverflow е добър източник за отговори на вече съществували проблеми/въпроси.
3. Ако желаете да бъдете добри в това, в което се опитвате да сте, приемайте критики. Интересувайте се.
Не, че разбирам или се правя, че разбирам. Just sayin :roll:
Cheers,
Iv