- 1
Привет, я вот сайт пишу, каталог, на заказ, ну короче, считаю себя говнокодером. Хочу попросить более опытных что ль, оценить. Сказать так это или нет. Ссылочку на гитхаб чуть позже присобачу.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+145
Привет, я вот сайт пишу, каталог, на заказ, ну короче, считаю себя говнокодером. Хочу попросить более опытных что ль, оценить. Сказать так это или нет. Ссылочку на гитхаб чуть позже присобачу.
Str3 27.03.2015 12:26 # 0
Fike 27.03.2015 12:40 # 0
proweber1 27.03.2015 13:02 # −2
Пароль для скачивания qazWSXedcRFV123, решил без гитхаба обойтись
myaut 27.03.2015 13:03 # +4
> http://rghost.ru/
гитхаб - это здесь ---> http://github.com/
proweber1 27.03.2015 13:05 # −2
Stallman 27.03.2015 13:49 # +1
Нахуя?
bormand 27.03.2015 13:57 # +1
>>Пароль
>Нахуя?
Боится, что боты-сканеры ргоста запалят его исходники.
Lokich 27.03.2015 14:00 # 0
Abbath 27.03.2015 14:29 # 0
Надеюсь без git не обошелся?
chtulhu 27.03.2015 14:48 # +2
guest 28.03.2015 00:36 # 0
Abbath 28.03.2015 01:13 # 0
guest 28.03.2015 01:49 # 0
Или вообще если хранилище на локалхосте.
bormand 28.03.2015 07:01 # +1
Настраивать проще (git init и репа готова), не засирает проект папками .svn, с ветками удобней работать.
wvxvw 28.03.2015 09:09 # +2
этого давно уже нет, несколько лет точно.
inkanus-gray 28.03.2015 13:21 # 0
http://habrahabr.ru/post/70330/
guest 28.03.2015 15:04 # 0
inkanus-gray 28.03.2015 13:17 # 0
«1) Он не может просто выкачать часть файлов (каталог из репозитория, а не весь репозиторий). Когда объемы репозиториев измеряются в гигабайтах, то это критично. Я иногда на работе по часу тупо выкачиваю код.
2) Система веток похожа на токийское метро, как в ней вообще разобраться?
3) Rebase - одна из самых частых операций и она по большому счету приводит К ПРАВКЕ ИСТОРИИ. Отличный способ всех запутать. Megre вместо переливания кода из ветки в ветку вообще делает единую.
4) Нет аутентификации. Буду коммитить тоже от имени Линуса Торвальдса. Если в моем коде что-то не так пусть он разбирается.
5) "Кроссплатформенность". GIT не знает что такое аттрибуты файлов и как файл может быть блокирован. В итоге пораждается куча багов.
Да и просто раздражает это дебильное "у меня точка спереди, меня никто не видит". Давайте еще дату изменения что ли в имени хранить? И правда доступа? Да вообще весь файл пусть в имени хранится, хули.
6) Все файлы в каталоге по умолчанию считаются под контролем. В итоге заебешься добавлять бинарники, конфиги и всякий хлам в .gitignore.
7) Децентрализация. Попали лишние тэги на сервер - пизда, их теперь все кому не лень будут пушить до скончания веков. Вообще что бы то ни было лишнее удалить почти невозможно.
8) Ветки хранятся в одном каталоге. Если в ветках добавлялись и или удалялись каталоги, то свич + пуш запушит лишний проект. Идеальный способ разнести какую-то херню из одной ветки во все.
9) Мне сейчас нужно чтобы кусок кода у меня лежал в папке с проектами, а кусок - в вебруте для IIS. Разница:
- TFS VSC похуй где файлы на диске. В решении => ок, всё уже работает.
- В GIT нет решений этой проблемы. Не работает и никогда не будет.»
inkanus-gray 28.03.2015 13:17 # −1
по умолчанию pull не обновляет список серверных веток и нужно писать еще и prune.
Итого: даже удаление ветки зачастую почти невозможная операция, ибо если другой разработчик её уже видел, то после удаления её с сервера у него останется и её локальная копия, и фантом серверной ветки. То что он может комитить в локальную по большому счету никого не ебет, но при пуше автоматически, без всяких предупреждений и даже сообщений после будет заново создана серверная ветка и в неё даже затащится вся история что там была.
Просто ад какой-то. Не испытывать проблем с гитом можно только в двух случаях:
- ты единственный разработчик, который пользуется конкретным репозиторием
- ты такой же ебнутый как авторы гита»
1024-- 28.03.2015 13:54 # 0
> Все файлы в каталоге по умолчанию считаются под контролем.
Это же пипец! Апплодисменты авторам за фэйл.
bormand 28.03.2015 14:46 # +1
> Это же пипец! Апплодисменты авторам за фэйл.
Вот в этом пункте как раз брехня. Гит добавляет под контроль только то, что ты скажешь ему добавлять. Если ты сказал ему "добавь всю папку" и не указал, какие маски надо исключать, то что он должен добавить? :)
P.S. Out of source билд рулит. Бесит, когда система сборки засирает папку с исходниками объектниками, бинарниками, конфигами и прочим говном.
roman-kashitsyn 28.03.2015 14:21 # +4
Вроде в 2.0 сделали, чтобы git push без параметров пушил только одну ветку, но я всё равно всегда писал куда пушить и всегда буду.
wvxvw 28.03.2015 13:58 # +1
guest 28.03.2015 15:03 # −1
Щелк правой кнопкой - создать хранилище,куда проще?
svn уже давно создает .svn только в корне.
Fike 28.03.2015 10:13 # 0
bormand 28.03.2015 11:12 # +1
Vasiliy 28.03.2015 11:53 # +1
kegdan 28.03.2015 12:32 # 0
Vasiliy 28.03.2015 12:39 # 0
bormand 28.03.2015 13:02 # +1
kegdan 28.03.2015 13:18 # 0
guest 28.03.2015 15:06 # 0
guest 29.03.2015 05:01 # 0
bormand 29.03.2015 09:03 # 0
Чтобы не копировать проект на 100500 раз ради экспериментов. Чтобы запиливать новые фичи не ломая основную ветку.
P.S. Я тоже после svn думал: "да нахуй мне эти ветки на локалхосте?!".
guest 29.03.2015 09:09 # 0
А нормальная нумерация версий -однозначный плюс.
bormand 29.03.2015 09:18 # +1
Гит тоже умеет нумеровать. Если историю в мастере не переписывать и теги с места на место не перевешивать - нумерация даже будет стабильной. Но в svn номера ревизий однозначней и проще, да.
> зачем для экспериментов создавать ветки
Как минимум - чтобы отложить на пару дней пиление этой самой ветки и пофиксить что-то в master'е (основной ветке).
guest 29.03.2015 09:23 # 0
32 битным хексом?
>Как минимум - чтобы отложить на пару дней пиление этой самой ветки и пофиксить что-то в master'е (основной ветке).
Хз, как то потребности в этом еще не было. В таком случае может бы тупо новый реп создал.
bormand 29.03.2015 09:26 # 0
Че-то типа 1.6.3-32
> В таком случае может бы тупо новый реп создал.
Ну а я про че писал? :) "Чтобы не копировать проект на 100500 раз ради экспериментов". Да и не всегда знаешь, когда надо будет скопировать. А ветки в гите вообще нахаляву делаются. Тут бесполезно объяснять, надо попробовать и подсесть ;)
guest 29.03.2015 09:43 # +2
bormand 29.03.2015 09:53 # 0
bormand 29.03.2015 09:59 # 0
guest 29.03.2015 10:35 # 0
Кстати, а что будет при коллизии хеша? Я так понимаю, это - уникальный идентификатор, а история может быть в любое время переписана?
bormand 29.03.2015 10:56 # 0
guest 29.03.2015 11:30 # 0
bormand 29.03.2015 11:44 # 0
bormand 29.03.2015 12:34 # +2
guest 29.03.2015 12:51 # 0
bormand 29.03.2015 13:34 # 0
guest 29.03.2015 17:05 # 0
bormand 29.03.2015 09:33 # +1
1.0.5 - имя последнего тега на пути от начального коммита до текущего
35 - количество коммитов после этого тега
d7d219a - кусок от хеша коммита, чтобы можно было быстро его найти
Fike 28.03.2015 12:24 # 0
Fike 27.03.2015 15:25 # 0
на гитхабе я бы мог даже не скачивая посмотреть, а теперь мне виртуалку снова запускать
guest 28.03.2015 00:36 # +1
Fike 28.03.2015 10:13 # 0
Stallman 28.03.2015 14:59 # 0
Fike 28.03.2015 15:00 # 0
guest 28.03.2015 15:02 # 0
bormand 28.03.2015 15:03 # +1
P.S. Вон какой-то вирус же был, который достаточно было увидеть в каталоге, и винда радостно исполняла нужный ему код...
guest 28.03.2015 15:13 # 0
Fike 28.03.2015 15:19 # 0
от деархивации ничего не будет. но в целом я распиздяй и скормить произвольную хуету интепретатору для меня обычно не проблема. после пары rm -rf на сервере я стараюсь всегда минимизирвоать возможные последствия какой-нибудь гранитной стеной.
guest 28.03.2015 15:50 # +1
Fike 28.03.2015 16:46 # 0
линукс сам по себе ничем не защищен.
guest 28.03.2015 17:04 # +2
Fike 28.03.2015 17:09 # 0
1024-- 28.03.2015 18:49 # +1
Fike 28.03.2015 20:53 # 0
Dummy00001 27.03.2015 13:31 # +3
proweber1 27.03.2015 13:35 # −1
Dummy00001 27.03.2015 13:38 # 0
guest 27.03.2015 14:23 # 0
http://www.effectivelanguagelearning.com/language-guide/language-difficulty
Да, там на англиЦком
Dummy00001 27.03.2015 15:27 # 0
kegdan 27.03.2015 22:23 # +1
Fike 27.03.2015 15:31 # 0
Использование phing: вообще плюс, но я этой xml-дрочилкой никогда не буду пользоваться
Использование коханы: минус, кохана это пиздец
> @license Open Source
Используй конкретную, все обычно ставят MIT и всё.
> * Изменяем before, для того, чтобы проверить, прилетел
> * хуев AJAX запрос, или пизда членистоногая какая-нибудь,
> * а нам таких нахуй не надо! Хакеры ёбанные!
лол.
мне уже начинает нравиться
Fike 27.03.2015 15:32 # 0
> * ajax запросов, а может где и еще, но жопой чую что он нужен
слушай, вообще тут твое творчество вроде было недавно
Fike 27.03.2015 15:33 # 0
> * инЕцЕализацЫя стандартных перемеНых, вот кАроче.
> * В этом методе у нас происходит инициализация стандартных
> * переменных для шаблона, дабы избежать вывода ошибок
> * во время работы сайта, в продакшен версии, ну конечно
> * мы еще переведем сайт в продакшен решим, вырубим вывод
бля, если б я был HR, у тебя был бы солидный приоритет при устройстве!
* сранных ошибок, но все же.
guest 28.03.2015 17:13 # +1
Модули сами себя не вынесут
Fike 28.03.2015 18:20 # +1
guest 29.03.2015 05:00 # +2
Fike 27.03.2015 15:38 # 0
Сложно понять, что там диктует кохана, а что по твоей воле сделано, но
* @access protected
* @param null $file
* @param array $params
* @return View
*/
protected function render_content($file = NULL, array $params = array())
Зачем ты пишешь access protected, если он и так стоит ниже? Зачем @param null, если очевидно, что туда передается строка, а null - это просто "компонент, выбери сам?". Определять вот эти значения по умолчанию и уровень доступа - задача парсилки, которая это использует. Ну и @param array - с таким объявлением аргумента разве что кретин не поймет, что это массив. Другое дело - что в нем должно лежать? Сам контекст рендеринга? Набор конфигурации для рендеринга, в которой контекст должен лежать строго под определенным ключом?
Fike 27.03.2015 15:42 # 0
Ну и установка зависимостей через phing - это не дело, оно все должно жить в composer.json. Прямо в нем же объявляешь новые репы, и все оно само скачивается.
kegdan 27.03.2015 22:24 # 0
Fike 27.03.2015 22:33 # 0
kegdan 27.03.2015 22:46 # 0
Fike 27.03.2015 23:04 # 0
LispGovno 30.03.2015 08:18 # 0
proweber1 29.03.2015 15:46 # −3
Stallman 29.03.2015 16:30 # +2
proweber1 30.03.2015 07:35 # −3
1024-- 30.03.2015 11:29 # +1
guest 30.03.2015 11:36 # +1
proweber1 31.03.2015 11:56 # −2
Fike 29.03.2015 16:36 # 0
Что до автоопределния null, а не string - ну епт, шторм-то не знает, что у тебя на уме, а язык даже чересчур динамический.