Опрос. Насколько вы понимаете код в своих продуктах

Фанат

oncle terrible
Команда форума
Опрос. Насколько вы понимаете код в своих продуктах

Вот ругаю я говнопрограммеров-копипастеров, вся работа которых состоит из двух итераций - поклянчить на форуме код, который решает их проблемы, и прийти на на форум с этим же кодом, если что-то не работает.
Но я понимаю, что это крайность.
Другая крайность - люди типа меня, у которых аллергия на использование кода, у которого неизвестно, что внутри.

А что лежит посерёдке?
Как вы относитесь к использованию готовых решений, которые вы досконально не разобрали, буквально построчно? Каков их процент в ваших разработках?

Вопрос больше к программистам, пишущим скрипты, чем к коммерсантам, продающим сайты.

Я почему спрашиваю - отладка эффективна только тогда, когда вы понимаете логику программы. Понимаете, что она делает, и можете в голове представить значение переменной на каждом этапе, чтобы сравнивать с отладочной информацией.
А не имея представления о логике программы, выводить отладочную информацию бесполезно - она все равно ничего не скажет.

Можно, конечно, начать разбираться уже после того, как косяк появится. Но поиск ошибки в незнакомой программе... по мне - лучше свою написать.
 

Groove

Новичок
Фанат
А сам опрос почему не сделал в топике? для наглядности...
 

Фанат

oncle terrible
Команда форума
А я не знаю, кстати, как формализовать.
Вот, Slavicos, правда, подсказал с процентами.
щас попробую
или уже всё - поезд ушёл?
 

tf

крылья рулят
50% - 70%
хотелось написать 90% - но большую часть времени я не помню своего кода - по синтаксису иногда приходятся лезть внуть созданых когда-то функций

Как вы относитесь к использованию готовых решений, которые вы досконально не разобрали, буквально построчно?
неразобрав непонятно будет ли оно работать как надо или нет!!!

так в общем - пространно - доводилось использовать только смарти и soap серер/ клиент SOAP
смарти мало касался
а вот SOAP пересмотрел код и пытался добавить нормально авторизацию (правдо потом было решено пм передавать ее в каждой фукнции)
- впечатления от качество сделанной работы в pear ужасное к томуже не совсем по стандарту SOAP
Каков их процент в ваших разработках?
5-7%
 

Gorynych

Посетитель PHP-Клуба
1) долгое время использовал шаблонизаторы. Практически без тщательного разбора кода (исключение - xtemplate, который оптимизировал и переписывал)

до сих пор остается:

2) adodb, как прослойка к базам данных

3) форумный движок phorum - использую его без досконального разбора

4) wyswyg-редакторы - до досконального разбора практически не доходит. Изучаются по мере надобности и на предмет корректности/безопастности

в целом - процент такого "чужого кода" в каждой отдельной разработке оказывается мал, относительного общего веса что-то около 15%, (случаи навязанных готовых движков , которые приходилось поддерживать, я исключаю, если я правильно понимаю суть вопроса). Правильнее сказать, что готовые решения я стараюсь использовать только там, где считаю написание собственного кода нецелесообразным.

и, обязательное условие. это готовое решение должно быть законченным и не тянуть за собой еще вагон и маленькую тележку. Мне важно, чтобы его можно было "изолировать" в отдельную обертку.

~~

если посчитать еще и клиентскую часть, то надо добавить базовые AJAX-библиотеки (вначале использовал котеровскую, потом - prototype). В клиентской части процент готового кода будет существенно выше - 60-80%
 

Slavicos

Новичок
Re: Опрос. Насколько вы понимаете код в своих продуктах

Автор оригинала: Фанат
Как вы относитесь к использованию готовых решений, которые вы досконально не разобрали, буквально построчно?
Я побаиваюсь чужих кодов
 

AP

Новичок
Smarty, в данный момент WACT + PEAR(от которого хочу отказаться) + wyswyg-редакторы. Сколько процентов незнаю ...

Думаю что проще и полезней написать своё чем разбираться в чужом(иногда очень бажном) коде
Slavicos, а чего боятся?
 

whirlwind

TDD infected, paranoid
5-10%

Не обязательно знать как оно реализовано, если просто использовать некий сторонний компонент. Достаточно задокументированного API. Другое дело, когда приходится дорабатывать сторонние компоненты. К сожалению, даже очень распространенные решения, написанные казалось бы профессионалами и обкатанные массами, страдают неподатливостью в плане расширения. Когда отказаться от стороннего компонента уже нельзя, приходится изголяться. Как следствие более сдержанное отношение к чужому коду.
 

serglt

Анус, ой, Ахтунг
Ну тенденция "я единственный, могу положиться только на себя, и код только у меня ровный" присуща всем программистам. Я не использую не свои готовые решения. Причем часто даже свои решения не использую, тоесть один и тот же модуль будет создан с нуля на новом проекте.

Немножечко офтопика. Кто разрабатывает ЦМС - вечно недоволен текущей версией и начинает создавать новую, после этой новой - еще одна новая и так далее.
Думаю единственный тормоз в этом фанатичном переписывании, конец умственного развития и торможение проффесионального опыта, что невозможно пока занимаесся данной деятельностью :)
 

Poizzz

Новичок
Процентов 5-10.

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

Vladson

Сильнобухер
Я не пишу большие проекты (в основном модули для готовых CMS) по этому 99% кода у меня написан "построчно". Единственное что я иногда копирую это отдельные функции, однако после этого я полностью "построчно" их переписываю чтоб понять как они работают а также подогнать форматирование под единый стиль... (в "разношёрстном" коде ловить баги ещё сложнее чем в незнакомом)
 

Sender

Новичок
Использую чужой код в задачах которые довольно объемные. Например связанные с ZIP архивами, Excel, phpmailer и т.п.
Внутрь лезу только при необходимости, сначала иду на форум этих продуктов и там ищу решение возникшей проблемы. Если не нахожу - пытаюсь сам выправить, если не получается уже задаю вопросы.


Свой код часто забываю :) особенно сложный и который написал один раз и забыл на долгое время, а так конечно ориентируюсь 100% что куда и почему.
 

AmdY

Пью пиво
Команда форума
Своего не более 10%, прежде чем использовать чужой код обязательно использую zend_client+ctrl+клик_мышкой. Опыт подсказывает, что в готовых решениях всегда есть "бутылочное горлышко".
Иногда потрошу чужие классы и клеплю из них один, но обычно на такое времени не хватает.
 

ran

Новичок
достаточно много, но только на уровне подключения библиотек... есть много хороших классов отправки на мыло, парсеры xls, работы с архивами и т.п. Не вижу смысла писать код, который уже кем-то написан, отлажен, проверен в боевых условиях и поддерживается разработчиками... Но перед использованием конечно же тест и попытка прикрутить его к чему-то, посмотреть на логику работы и возможность внесения своих изменений... Каждую строчку разбирать не приходится, но на уровне функций (особенно если есть комментарии или документация) - просматриваю. Если код написан как попало - то сразу нет... Хотя в последнее время склоняюсь к использованию своих собственных наработок, их совершенствования, поэтому % использования где-то от 0 до 90% в зависимости от задач и времени на их выполнение, а свой код кому как не самому же и понимать =))
 

gonza

Новичок
Если по объему кода смотреть - своего тоже не более 10%

А к чужому коду отношусь хорошо - просто периодически качаю какой либо проект и начинаю искать в нем баги. После таких тренировок чужой код читается как Достоевский... Никакой разницы между чужим - своим не ощущаешь(ну кроме периодически возникающих мыслей что вот это я бы сделал не так)
 

ran

Новичок
Анатолий
Все так не считают :) , но если PEAR::Spreadsheet отлично справляется по работе с xls-файлами, имеется документация и в коде можно разобраться, то на написание такой же либы размером больше 300К нужно найти достаточно времени, чем на то, чтобы разобраться как она работает... хотя может и придется как-нибудь =)
Поэтому когда это нужно сделать за неделю, то остается только воспользоваться готовым решением.
 
Сверху