Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать. 1. Ни в коем случае не используйте хардкод. Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД. Как такое может придти в голову? Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.
Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать.
1. Ни в коем случае не используйте хардкод.
Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД.
Как такое может придти в голову?
Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.
Это был не я.
Хардкод - это кстати широкое понятие.
Вставка ID записей - это такая крайняя степень хардкода, что даже наверное к хардкоду и не относится. Это просто ошибка, основанная на непонимании некоторых вещей.
А вот про то, что понимать под "хардкодом": плохим или допустимым, это можно обсудить
Это был не я.
Хардкод - это кстати широкое понятие.
Вставка ID записей - это такая крайняя степень хардкода, что даже наверное к хардкоду и не относится.
Это просто ошибка, основанная на непонимании некоторых вещей.
А вот про то, что понимать под "хардкодом": плохим или допустимым, это можно обсудить
[quote="Gres"]Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД. [/quote]
Очень интересный use case.
А на каком этапе это делалось? установка пакета? тесты? или вызов страницы?
А так согласен - хардкод, это плохо. Я встречал такое в тест методах.
Я бы еще добавил - никаких "строк" в коде, только custom labels. Все равно рани или поздно придется этим заниматься.
О, вспомнил что меня больше всего бесит!!!
Это когда пытаются кастомный функционал натянуть на Standard Layout. Ну возьмите, напишите новую кастомную страницу VF с нуля, на худой конец встройте <apex:details> в кастомную страницу и потом пилите злой javascript. А то я столько навидался костылей, когда пытаются бороться с Same-origin policy на кастомной странице. Чего только не придумывают. Даже делают через static resources + get параметры (привет wilder крутое было решение) чтобы передать данные из inline VF в Standard Layout. Вот это ЖЕСТЬ!
Плюс меня вырубают задачи, когда в абсолютно кастомном функционале пытаются использовать стандартные объекты. Ладно если это для внутреннего использования. Но когда это для продукта, который будет устанавливаться клиентам!!! А потом голову ломают как обойти обязательные поля, которые насоздавал заказчик, validation rules заказчика или триггеры, которые висят на стандартном объекте. Нафига? Вы приходите к клиенту чтобы добавить ему нужный функционал, так пусть это будет обособленное приложение в вакууме, а не франкенштейн который не работает из-за чужого кода или вообще ломает чужой орг нафиг!
О, вспомнил что меня больше всего бесит!!!
Это когда пытаются кастомный функционал натянуть на Standard Layout. Ну возьмите, напишите новую кастомную страницу VF с нуля, на худой конец встройте <apex:details> в кастомную страницу и потом пилите злой javascript. А то я столько навидался костылей, когда пытаются бороться с [url=http://en.wikipedia.org/wiki/Same-origin_policy]Same-origin policy[/url] на кастомной странице. Чего только не придумывают. Даже делают через static resources + get параметры (привет wilder :) крутое было решение) чтобы передать данные из inline VF в Standard Layout. Вот это ЖЕСТЬ!
Плюс меня вырубают задачи, когда в абсолютно кастомном функционале пытаются использовать стандартные объекты. Ладно если это для внутреннего использования. Но когда это для продукта, который будет устанавливаться клиентам!!! А потом голову ломают как обойти обязательные поля, которые насоздавал заказчик, validation rules заказчика или триггеры, которые висят на стандартном объекте. Нафига? Вы приходите к клиенту чтобы добавить ему нужный функционал, так пусть это будет обособленное приложение в вакууме, а не франкенштейн который не работает из-за чужого кода или вообще ломает чужой орг нафиг!
[quote="Den Brown"]Вставка ID записей - это такая крайняя степень хардкода, что даже наверное к хардкоду и не относится. [/quote]
А к чему относится?
Хардкод - это такие решения, которые в принципе работают в Орге назначения и формально решают поставленные задачи. Но их невозможно или сложно (т.е. нужно дописывать прям в коде) расширять, и\или они не резистентны к изменениям.
А вписанные-в-код "живые" АйДи в принципе не будут работать нигде, кроме того Орга где и были созданны. Или в вашем примере имеются ввиду все-таки не вписанные-в-код "живые" АйДи, а все таки другая ситуация?
Вот например, пример СФного мягкого "хардкода" (в моем понимании - все ИМХО). Очень часто, нам нужно дать записи РекТайп АйДи. В одной из самых первых тем, Дмитрий указал мне, что нужно выцеплять его по: девелопер нейм (неизменно), типа объекта и АктивенЛи.
А если я получу РекТайп АйДи (только) по обычному имени в квери. Имени которое может меняться. Это можно назвать мягким "хардкодом" (тк "переменное" имя просто "вписано" в код)? мы изначально создаем ситуацию не резистентую к переменам. Плюс обращение к РекТайпу по обычному имени можно организовать и в формулах.
[quote="Gres"][quote="Den Brown"]Вставка ID записей - это такая крайняя степень хардкода, что даже наверное к хардкоду и не относится. [/quote]
А к чему относится?[/quote]
Хардкод - это такие решения, которые в принципе работают в Орге назначения и формально решают поставленные задачи. Но их невозможно или сложно (т.е. нужно дописывать прям в коде) расширять, и\или они не резистентны к изменениям.
А вписанные-в-код "живые" АйДи в принципе не будут работать нигде, кроме того Орга где и были созданны. Или в вашем примере имеются ввиду все-таки не вписанные-в-код "живые" АйДи, а все таки другая ситуация?
Вот например, пример СФного мягкого "хардкода" (в моем понимании - все ИМХО).
Очень часто, нам нужно дать записи РекТайп АйДи.
В одной из самых первых тем, Дмитрий указал мне, что нужно выцеплять его по: девелопер нейм (неизменно), типа объекта и АктивенЛи.
А если я получу РекТайп АйДи (только) по обычному имени в квери. Имени которое может меняться. Это можно назвать мягким "хардкодом" (тк "переменное" имя просто "вписано" в код)? мы изначально создаем ситуацию не резистентую к переменам.
Плюс обращение к РекТайпу по обычному имени можно организовать и в формулах.
А на каком этапе это делалось? установка пакета? тесты? или вызов страницы?
Тесты
Может человеку было лень имплементить мок класс для теста колаутов.. не вижу ничего плохого в таких хардкодах + хотелось бы узнать, что именно было в этом жсоне?
[quote="Gres"][quote="Dmitry Shnyrev"]А на каком этапе это делалось? установка пакета? тесты? или вызов страницы?[/quote]
Тесты[/quote]
Может человеку было лень имплементить мок класс для теста колаутов.. не вижу ничего плохого в таких хардкодах
+ хотелось бы узнать, что именно было в этом жсоне?
Может человеку было лень имплементить мок класс для теста колаутов.. не вижу ничего плохого в таких хардкодах
Но наверное такие тесты не заработают на другом орге? Если только это не fullcopy sandbox.
[quote="Maxim Elets"]Может человеку было лень имплементить мок класс для теста колаутов.. не вижу ничего плохого в таких хардкодах [/quote]
Но наверное такие тесты не заработают на другом орге? Если только это не fullcopy sandbox.
Может человеку было лень имплементить мок класс для теста колаутов.. не вижу ничего плохого в таких хардкодах
Но наверное такие тесты не заработают на другом орге? Если только это не fullcopy sandbox.
Никто не уточнил какие это Id) может это не салесфорс id
ПЫСЫ: без хардокода наша жизнь была бы очень трудной
[quote="Dmitry Shnyrev"][quote="Maxim Elets"]Может человеку было лень имплементить мок класс для теста колаутов.. не вижу ничего плохого в таких хардкодах [/quote]
Но наверное такие тесты не заработают на другом орге? Если только это не fullcopy sandbox.[/quote]
Никто не уточнил какие это Id)
может это не салесфорс id
ПЫСЫ: без хардокода наша жизнь была бы очень трудной
1. Ни в коем случае не используйте хардкод.
и да, я в корне не согласен с этим. хардкод SF Id - плохо, хардкод на всякий случай какого нить урла(если у челов почесались руки и они снесли какой нить кастом сетинг) что бы использовать его по умолчанию - хорошо
[quote="Gres"]1. Ни в коем случае не используйте хардкод. [/quote]
и да, я в корне не согласен с этим.
хардкод SF Id - плохо,
хардкод на всякий случай какого нить урла(если у челов почесались руки и они снесли какой нить кастом сетинг) что бы использовать его по умолчанию - хорошо
Если только это не fullcopy sandbox.
а что в fullcopy sandbox те же АйДи у записей, что и в Проде? :o
[quote="Dmitry Shnyrev"]Если только это не fullcopy sandbox.[/quote]
а что в fullcopy sandbox те же АйДи у записей, что и в Проде? :o
Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.
А вот комментарии в коде это всегда хорошо. А то иной раз(почему иной, у нас на фирме комментарии оставляют всего лишь пару человек) встречаешь q1, jopa, blead, bobo и тд названия переменных....
[quote="Gres"]Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.[/quote]
А вот комментарии в коде это всегда хорошо. А то иной раз(почему иной, у нас на фирме комментарии оставляют всего лишь пару человек) встречаешь q1, jopa, blead, bobo и тд названия переменных....
Если только это не fullcopy sandbox.
а что в fullcopy sandbox те же АйДи у записей, что и в Проде? :o
[quote="Den Brown"][quote="Dmitry Shnyrev"]Если только это не fullcopy sandbox.[/quote]
а что в fullcopy sandbox те же АйДи у записей, что и в Проде? :o[/quote]
На то он и фулл)
Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать. 1. Ни в коем случае не используйте хардкод. Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД. Как такое может придти в голову? Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.
Смотри как совпало ну просто мой тест один в один который не так давно писал для одной компании Если ты конечно про меня ?
[quote="Gres"]Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать.
1. Ни в коем случае не используйте хардкод.
Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД.
Как такое может придти в голову?
Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.[/quote]
Смотри как совпало ну просто мой тест один в один который не так давно писал для одной компании :) Если ты конечно про меня ?
ПЫСЫ: без хардокода наша жизнь была бы очень трудной
[quote="Maxim Elets"]ПЫСЫ: без хардокода наша жизнь была бы очень трудной[/quote]
Пруф?
хардкод на всякий случай какого нить урла(если у челов почесались руки и они снесли какой нить кастом сетинг) что бы использовать его по умолчанию - хорошо
[quote="Gres"]хардкод на всякий случай какого нить урла(если у челов почесались руки и они снесли какой нить кастом сетинг) что бы использовать его по умолчанию - хорошо[/quote]
пост чуть ниже
А вот комментарии в коде это всегда хорошо. А то иной раз(почему иной, у нас на фирме комментарии оставляют всего лишь пару человек) встречаешь q1, jopa, blead, bobo и тд названия переменных....
Видимо вы и ваши коллеги не читали Роберта Мартина.
[quote="Maxim Elets"]А вот комментарии в коде это всегда хорошо. А то иной раз(почему иной, у нас на фирме комментарии оставляют всего лишь пару человек) встречаешь q1, jopa, blead, bobo и тд названия переменных....[/quote]
Видимо вы и ваши коллеги не читали Роберта Мартина.
А вот комментарии в коде это всегда хорошо. А то иной раз(почему иной, у нас на фирме комментарии оставляют всего лишь пару человек) встречаешь q1, jopa, blead, bobo и тд названия переменных....
Видимо вы и ваши коллеги не читали Роберта Мартина.
Я не читал, а что он утверждает, jopa123 это хорошо?
[quote="Gres"][quote="Maxim Elets"]А вот комментарии в коде это всегда хорошо. А то иной раз(почему иной, у нас на фирме комментарии оставляют всего лишь пару человек) встречаешь q1, jopa, blead, bobo и тд названия переменных....[/quote]
Видимо вы и ваши коллеги не читали Роберта Мартина.[/quote]
Я не читал, а что он утверждает, jopa123 это хорошо?
Но наверное такие тесты не заработают на другом орге?
Естественно! Они даже не заработают на проде, если были созданы на fullcopy СБ.
[quote="Dmitry Shnyrev"]Но наверное такие тесты не заработают на другом орге? [/quote]
Естественно!
Они даже не заработают на проде, если были созданы на fullcopy СБ.
[quote="Gres"][quote="Maxim Elets"]а что он утверждает, jopa123 это хорошо?[/quote]
Код должен сам себя документировать[/quote]
вот именно, но, когда есть jopa123 + коммент это хорошо, а когда просто jopaq1 это плохо
Меня в последнее время поражает уровень разработчиков! Люди думают, если нашли пример в сети, скопировали, поменяли названия переменных, то им больше не надо учиться!
Меня в последнее время поражает уровень разработчиков!
Люди думают, если нашли пример в сети, скопировали, поменяли названия переменных, то им больше не надо учиться!
вот именно, но, когда есть jopa123 + коммент это хорошо, а когда просто jopaq1 это плохо
Название переменной + 10 строк комментариев над ней, зачем она нужна и где она используется, то вообще будет отлично!
[quote="Maxim Elets"]вот именно, но, когда есть jopa123 + коммент это хорошо, а когда просто jopaq1 это плохо[/quote]
Название переменной + 10 строк комментариев над ней, зачем она нужна и где она используется, то вообще будет отлично!
Они даже не заработают на проде, если были созданы на fullcopy СБ.
так все-таки, правда или не правда что у fullcopy СБ одинаковые АйДи с Продом?
но даже если это и так, то все равно такие АйДи в теории можно бы использовать только для записей, которые существовали в Проде на момент создания fullcopy СБ.
[quote="Gres"]Они даже не заработают на проде, если были созданы на fullcopy СБ.[/quote]
так все-таки, правда или не правда что у fullcopy СБ одинаковые АйДи с Продом?
но даже если это и так, то все равно такие АйДи в теории можно бы использовать только для записей, которые существовали в Проде на момент создания fullcopy СБ.
но даже если это и так, то все равно такие АйДи в теории можно бы использовать только для записей, которые существовали в Проде на момент создания fullcopy СБ.
[quote="Den Brown"]но даже если это и так, то все равно такие АйДи в теории можно бы использовать только для записей, которые существовали в Проде на момент создания fullcopy СБ.[/quote]
Абсолютно точно!
но даже если это и так, то все равно такие АйДи в теории можно бы использовать только для записей, которые существовали в Проде на момент создания fullcopy СБ.
Абсолютно точно!
ага, значит все так одинаковы у уже существовавших записей. Хорошо, что у нас этого никто не знает, а то началась бы хард-код эпидемия.
[quote="Gres"][quote="Den Brown"]но даже если это и так, то все равно такие АйДи в теории можно бы использовать только для записей, которые существовали в Проде на момент создания fullcopy СБ.[/quote]
Абсолютно точно![/quote]
ага, значит все так одинаковы у уже существовавших записей. Хорошо, что у нас этого никто не знает, а то началась бы хард-код эпидемия.
Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать. 1. Ни в коем случае не используйте хардкод. Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД. Как такое может придти в голову? Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.
[quote="Gres"]Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать.
1. Ни в коем случае не используйте хардкод.
Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД.
Как такое может придти в голову?
Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.[/quote]
Рекламу главное не сделай.
вот именно, но, когда есть jopa123 + коммент это хорошо, а когда просто jopaq1 это плохо
Название переменной + 10 строк комментариев над ней, зачем она нужна и где она используется, то вообще будет отлично!
ну тогда никогда так не не делайте)
Ребята, читайте SICP!
Мне уже интересно посмотреть на те решения, которые вы пишите на СФ, посмотреть на чистый, понятный код)))
Меня в последнее время поражает уровень разработчиков! Люди думают, если нашли пример в сети, скопировали, поменяли названия переменных, то им больше не надо учиться!
то что нашли пример, это уже огромный плюс. был у нас на работе(.net) один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-
[quote="Gres"][quote="Maxim Elets"]вот именно, но, когда есть jopa123 + коммент это хорошо, а когда просто jopaq1 это плохо[/quote]
Название переменной + 10 строк комментариев над ней, зачем она нужна и где она используется, то вообще будет отлично![/quote]
ну тогда никогда так не не делайте)
[quote="Gres"]Ребята, читайте SICP![/quote]
Мне уже интересно посмотреть на те решения, которые вы пишите на СФ, посмотреть на чистый, понятный код)))
[quote="Gres"]Меня в последнее время поражает уровень разработчиков!
Люди думают, если нашли пример в сети, скопировали, поменяли названия переменных, то им больше не надо учиться![/quote]
то что нашли пример, это уже огромный плюс. был у нас на работе(.net) один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-
[quote="Maxim Elets"]Мне уже интересно посмотреть на те решения, которые вы пишите на СФ, посмотреть на чистый, понятный код)))[/quote]
Ну да, можешь сказать, что у меня ООП головного мозга.
Каждому свое!
ну тогда никогда так не не делайте)
Делайте как угодно, просто, что вы скажете, когда размер файлы вырастает до 10000 строк. Какое время вам понадобится на фикс баги в коде?
[quote="Maxim Elets"]ну тогда никогда так не не делайте)[/quote]
Делайте как угодно, просто, что вы скажете, когда размер файлы вырастает до 10000 строк.
Какое время вам понадобится на фикс баги в коде?
Мне уже интересно посмотреть на те решения, которые вы пишите на СФ, посмотреть на чистый, понятный код)))
На самом деле зря смеетесь, я если что свидетель. Хотя видел людей с куда более поздней стадией ООП головного мозга (как тут выше написано)
[quote="Maxim Elets"]
Мне уже интересно посмотреть на те решения, которые вы пишите на СФ, посмотреть на чистый, понятный код)))
[/quote]
На самом деле зря смеетесь, я если что свидетель.
Хотя видел людей с куда более поздней стадией ООП головного мозга (как тут выше написано)
то что нашли пример, это уже огромный плюс. был у нас на работе(.net) один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-
[quote="Maxim Elets"]то что нашли пример, это уже огромный плюс. был у нас на работе(.net) один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__- [/quote]
Умение гуглить сейчас очень важно.
Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать. 1. Ни в коем случае не используйте хардкод. Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД. Как такое может придти в голову? Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.
Смотри как совпало ну просто мой тест один в один который не так давно писал для одной компании Если ты конечно про меня ?
[quote="Sergey Prichepo"][quote="Gres"]Давайте соберем те вещи (примеры кода), которые никогда не стоит использовать.
1. Ни в коем случае не используйте хардкод.
Как можно захардкодить строку JSON'a, в которой куча id, а потом десериализовать его и вставить в БД.
Как такое может придти в голову?
Кст. судя по комментариям в коде, этот человек есть на форуме. Не буду разглашать имя, дабы не портить его репутацию здесь.[/quote]
Смотри как совпало ну просто мой тест один в один который не так давно писал для одной компании :) Если ты конечно про меня ?[/quote]
читать просто надо всю летну!
читать просто надо всю летну!
Ты хочешь, чтобы на форуме тебя зарекламировали? Тут, наверно, вопрос к Дмитрию, я думаю, это выльется тебе в определенную сумму.
[quote="Sergey Prichepo"]читать просто надо всю летну![/quote]
Ты хочешь, чтобы на форуме тебя зарекламировали?
Тут, наверно, вопрос к Дмитрию, я думаю, это выльется тебе в определенную сумму.
то что нашли пример, это уже огромный плюс. был у нас на работе(.net) один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-
Умение гуглить сейчас очень важно.
умение гуглить иногда гораздо важнее теоретических знаний
[quote="Gres"][quote="Maxim Elets"]то что нашли пример, это уже огромный плюс. был у нас на работе(.net) один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__- [/quote]
Умение гуглить сейчас очень важно.[/quote]
умение гуглить иногда гораздо важнее теоретических знаний
умение гуглить иногда гораздо важнее теоретических знаний
Кст, от чего повыщается ваша самооценка от изящности придуманного решения или от сумму, которую вам дают за конечный результат?
[quote="Maxim Elets"]умение гуглить иногда гораздо важнее теоретических знаний[/quote]
Кст, от чего повыщается ваша самооценка от изящности придуманного решения или от сумму, которую вам дают за конечный результат?
Да нет спасибо своей рекламы хватает,но если ты про мой код тогда можешь сразу говорить,я делал тест где вот вообще все один в один сходится там было все к месту.
Да нет спасибо своей рекламы хватает,но если ты про мой код тогда можешь сразу говорить,я делал тест где вот вообще все один в один сходится там было все к месту.
Да нет спасибо своей рекламы хватает,но если ты про мой код тогда можешь сразу говорить,я делал тест где вот вообще все один в один сходится там было все к месту.
[quote="Sergey Prichepo"]Да нет спасибо своей рекламы хватает,но если ты про мой код тогда можешь сразу говорить,я делал тест где вот вообще все один в один сходится там было все к месту.[/quote]
Особенно на проде :)
умение гуглить иногда гораздо важнее теоретических знаний
Кст, от чего повыщается ваша самооценка от изящности придуманного решения или от сумму, которую вам дают за конечный результат?
Моя самооценка всегда на одном уровне. Мне просто приятно найти самому решение какой либо проблемы. Думаю так и у всех. И будет гораздо приятнее если за это решение меня поощрят деньгами. Учитывая что все упирается в сроки сдачи какого либо задания(не знаю как у вас, но у нас заказчики не платят за овертайм), то времени думать над изобретением колеса не приходится. Плюс ко всему этому, работа обычно ведется уже на существующих проектах, которые просто нужно фиксить, допиливать и тд. И вы должны понимать что внедрить какое-то крутое решение, в большой проект получится только с очень большим трудом и затратами и здесь еще не совсем очевиден выигрыш от всего этого(ну только если попонтоваться, что мол я написал твой код в 4 строки, вместо 8, но он работает точно также и с такой же скоростью - это как с новыми айфонами)
Важные решения нужно продумывать на этапе проектирования, а не за день до релиза.
Да нет спасибо своей рекламы хватает,но если ты про мой код тогда можешь сразу говорить,я делал тест где вот вообще все один в один сходится там было все к месту.
Ты погодь, сейчас окажется что после тебя кто-то правил классы, а тесты не поправил, но в итоге валятся же тесты, значит ты и виноват))
[quote="Gres"][quote="Maxim Elets"]умение гуглить иногда гораздо важнее теоретических знаний[/quote]
Кст, от чего повыщается ваша самооценка от изящности придуманного решения или от сумму, которую вам дают за конечный результат?[/quote]
Моя самооценка всегда на одном уровне. Мне просто приятно найти самому решение какой либо проблемы. Думаю так и у всех. И будет гораздо приятнее если за это решение меня поощрят деньгами. Учитывая что все упирается в сроки сдачи какого либо задания(не знаю как у вас, но у нас заказчики не платят за овертайм), то времени думать над изобретением колеса не приходится. Плюс ко всему этому, работа обычно ведется уже на существующих проектах, которые просто нужно фиксить, допиливать и тд. И вы должны понимать что внедрить какое-то крутое решение, в большой проект получится только с очень большим трудом и затратами и здесь еще не совсем очевиден выигрыш от всего этого(ну только если попонтоваться, что мол я написал твой код в 4 строки, вместо 8, но он работает точно также и с такой же скоростью - это как с новыми айфонами)
Важные решения нужно продумывать на этапе проектирования, а не за день до релиза.
[quote="Sergey Prichepo"]Да нет спасибо своей рекламы хватает,но если ты про мой код тогда можешь сразу говорить,я делал тест где вот вообще все один в один сходится там было все к месту.[/quote]
Ты погодь, сейчас окажется что после тебя кто-то правил классы, а тесты не поправил, но в итоге валятся же тесты, значит ты и виноват))
Важные решения нужно продумывать на этапе проектирования, а не за день до релиза.
[quote="Maxim Elets"]Важные решения нужно продумывать на этапе проектирования, а не за день до релиза.[/quote]
Правильно, а про день релиза никто и не говорит!
Ты погодь, сейчас окажется что после тебя кто-то правил классы, а тесты не поправил, но в итоге валятся же тесты, значит ты и виноват))
Лол, да Особенно, когда на дев-инстансе они не валятся
[quote="Maxim Elets"]Ты погодь, сейчас окажется что после тебя кто-то правил классы, а тесты не поправил, но в итоге валятся же тесты, значит ты и виноват))[/quote]
Лол, да
Особенно, когда на дев-инстансе они не валятся
один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-
в свое время я на лида конечно не претендовал, то тот плагин календарик (если мы об одном и том же говорим) прикрутить заняло примерно 2 недели. И то не все вопросы решены, например нет автоподгузки новых записей по мере перехода от месяца к месяцу (если не перерисовывать с вновь выквериными записями календарную секцию каждый раз при переходе с месяца на месяц)... так что если есть возможность - спросите, как у вас этот момент работает.
[quote="Maxim Elets"]один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-[/quote]
в свое время я на лида конечно не претендовал, то тот плагин календарик (если мы об одном и том же говорим) прикрутить заняло примерно 2 недели. И то не все вопросы решены, например нет автоподгузки новых записей по мере перехода от месяца к месяцу (если не перерисовывать с вновь выквериными записями календарную секцию каждый раз при переходе с месяца на месяц)... так что если есть возможность - спросите, как у вас этот момент работает.
рикрутить заняло примерно 2 недели. И то не все вопросы решены, например нет автоподгузки новых записей по мере перехода от месяца к месяцу (если не перерисовывать с вновь выквериными записями календарную секцию каждый раз при переходе с месяца на месяц).
календарик это я так дейтпикер называю) так что думаю мы о разных вещах) вы наверно о каком нить fullcalendar
[quote="Den Brown"]рикрутить заняло примерно 2 недели. И то не все вопросы решены, например нет автоподгузки новых записей по мере перехода от месяца к месяцу (если не перерисовывать с вновь выквериными записями календарную секцию каждый раз при переходе с месяца на месяц).[/quote]
календарик это я так дейтпикер называю) так что думаю мы о разных вещах) вы наверно о каком нить fullcalendar
календарик это я так дейтпикер называю) так что думаю мы о разных вещах) вы наверно о каком нить fullcalendar
понятно. вы о Jquery UI-ишном дейтпикере (ну может и о каком более кастомном). Я о fullcalendar плагине
[quote="Maxim Elets"]календарик это я так дейтпикер называю) так что думаю мы о разных вещах) вы наверно о каком нить fullcalendar[/quote]
понятно. вы о Jquery UI-ишном дейтпикере (ну может и о каком более кастомном). Я о fullcalendar плагине
[quote="Den Brown"]Я о fullcalendar плагине[/quote]
Неплохая штука, приходилось кастомизировать.
приходилось кастомизировать.
в общем ситуация там такая.
Эвенты (которые есть наши СФ записи) одномоментно "грузятся" в Календарь либо просто разматываемание их Репитором, либо приходят JSONом (там была веселая проблемка с этим, слово end (or Start) зарезервирован в Апексе, пришлом перешивать объекты в JS).
А что есть отображение записей в календарной сетке? Это просто список такой. А если список - то каковы его пределы? Никак нельзя оставлять его без контроля.
так вот если евенты разматываются Рипитором, то получается что код упадет при лимите ВФ Листа или итераци Репитора. Но даже если подгужать одномоментно JSONом - то все равно нужно "пагинировать" пришедшие евенты, разбивать на группы, по месяцам или тек месяц +\- еще месяц.
Но если подгужена только порция евентов, то как подгужать новые при переходе с месяца на месяц? Перерисовывая сетку-секцию или Аджаксом?
если есть рабочий код, то дайте плиз, как будет время - я почитаю с удовольствием.
[quote="Gres"]приходилось кастомизировать.[/quote]
в общем ситуация там такая.
Эвенты (которые есть наши СФ записи) одномоментно "грузятся" в Календарь либо просто разматываемание их Репитором, либо приходят JSONом (там была веселая проблемка с этим, слово end (or Start) зарезервирован в Апексе, пришлом перешивать объекты в JS).
А что есть отображение записей в календарной сетке? Это просто список такой. А если список - то каковы его пределы? Никак нельзя оставлять его без контроля.
так вот если евенты разматываются Рипитором, то получается что код упадет при лимите ВФ Листа или итераци Репитора. Но даже если подгужать одномоментно JSONом - то все равно нужно "пагинировать" пришедшие евенты, разбивать на группы, по месяцам или тек месяц +\- еще месяц.
Но если подгужена только порция евентов, то как подгужать новые при переходе с месяца на месяц? Перерисовывая сетку-секцию или Аджаксом?
если есть рабочий код, то дайте плиз, как будет время - я почитаю с удовольствием.
[quote="Gres"][quote="Maxim Elets"]а что он утверждает, jopa123 это хорошо?[/quote]
Код должен сам себя документировать[/quote]
Как раз работаю над этим.
Ты хочешь, чтобы на форуме тебя зарекламировали? Тут, наверно, вопрос к Дмитрию, я думаю, это выльется тебе в определенную сумму.
у меня тут все бесплатно, все для людей, все для вас, дорогие форумане. Хотите себя разрекламировать? Все в ваших руках - личная страница с информацией (aka можно использовать как резюме) - статьи в блоге - активность на форуме Сейчас еще одна фишка на подходе.
[quote="Gres"]Ты хочешь, чтобы на форуме тебя зарекламировали?
Тут, наверно, вопрос к Дмитрию, я думаю, это выльется тебе в определенную сумму.[/quote]
:D у меня тут все бесплатно, все для людей, все для вас, дорогие форумане.
Хотите себя разрекламировать? Все в ваших руках :D
- личная страница с информацией (aka можно использовать как резюме)
- статьи в блоге
- активность на форуме
Сейчас еще одна фишка на подходе. :D
один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-
в свое время я на лида конечно не претендовал, то тот плагин календарик (если мы об одном и том же говорим) прикрутить заняло примерно 2 недели. И то не все вопросы решены, например нет автоподгузки новых записей по мере перехода от месяца к месяцу (если не перерисовывать с вновь выквериными записями календарную секцию каждый раз при переходе с месяца на месяц)... так что если есть возможность - спросите, как у вас этот момент работает.
Я смотрю тут очень многие вместе работают и решили выплеснуть эмоции на <noname> товарища?
UPD: дочитал дальше - не вместе работаете, просто совпало.
Была бы у меня в свое время такая возможность, сколько бы я гнева бы выплеснул. А так носил все в себе
Тема просто огонь получилась!!!! Никогда такой активности не наблюдал и ничего не читал с таким интересом и улыбкой.
[quote="Den Brown"][quote="Maxim Elets"]один чел, знал на собеседовании все на уровне лида, а как дошло дело прикрутить календарик jquery - 2 недели делал -__-[/quote]
в свое время я на лида конечно не претендовал, то тот плагин календарик (если мы об одном и том же говорим) прикрутить заняло примерно 2 недели. И то не все вопросы решены, например нет автоподгузки новых записей по мере перехода от месяца к месяцу (если не перерисовывать с вновь выквериными записями календарную секцию каждый раз при переходе с месяца на месяц)... так что если есть возможность - спросите, как у вас этот момент работает.[/quote]
Я смотрю тут очень многие вместе работают и решили выплеснуть эмоции на <noname> товарища?
[i]UPD: дочитал дальше - не вместе работаете, просто совпало.[/i]
Была бы у меня в свое время такая возможность, сколько бы я гнева бы выплеснул. А так носил все в себе :)
:D Тема просто [b]огонь[/b] получилась!!!! Никогда такой активности не наблюдал и ничего не читал с таким интересом и улыбкой.
так вот если евенты разматываются Рипитором, то получается что код упадет при лимите ВФ Листа или итераци Репитора. Но даже если подгужать одномоментно JSONом - то все равно нужно "пагинировать" пришедшие евенты, разбивать на группы, по месяцам или тек месяц +\- еще месяц.
Но если подгужена только порция евентов, то как подгужать новые при переходе с месяца на месяц? Перерисовывая сетку-секцию или Аджаксом?
если есть рабочий код, то дайте плиз, как будет время - я почитаю с удовольствием.
Помню, Maxim Elets, делал именно такую "красоту". Я думаю он будет не против поделиться опытом. Результат получился супер!
[quote="Den Brown"]так вот если евенты разматываются Рипитором, то получается что код упадет при лимите ВФ Листа или итераци Репитора. Но даже если подгужать одномоментно JSONом - то все равно нужно "пагинировать" пришедшие евенты, разбивать на группы, по месяцам или тек месяц +\- еще месяц.
Но если подгужена только порция евентов, то как подгужать новые при переходе с месяца на месяц? Перерисовывая сетку-секцию или Аджаксом?
если есть рабочий код, то дайте плиз, как будет время - я почитаю с удовольствием.[/quote]
Помню, Maxim Elets, делал именно такую "красоту". Я думаю он будет не против поделиться опытом.
Результат получился супер!
так вот если евенты разматываются Рипитором, то получается что код упадет при лимите ВФ Листа или итераци Репитора. Но даже если подгужать одномоментно JSONом - то все равно нужно "пагинировать" пришедшие евенты, разбивать на группы, по месяцам или тек месяц +\- еще месяц.
Но если подгужена только порция евентов, то как подгужать новые при переходе с месяца на месяц? Перерисовывая сетку-секцию или Аджаксом?
если есть рабочий код, то дайте плиз, как будет время - я почитаю с удовольствием.
Помню, Maxim Elets, делал именно такую "красоту". Я думаю он будет не против поделиться опытом. Результат получился супер!
То было полностью кастомное решение на backbone, если мы про одно и тоже)
[quote="Dmitry Shnyrev"][quote="Den Brown"]так вот если евенты разматываются Рипитором, то получается что код упадет при лимите ВФ Листа или итераци Репитора. Но даже если подгужать одномоментно JSONом - то все равно нужно "пагинировать" пришедшие евенты, разбивать на группы, по месяцам или тек месяц +\- еще месяц.
Но если подгужена только порция евентов, то как подгужать новые при переходе с месяца на месяц? Перерисовывая сетку-секцию или Аджаксом?
если есть рабочий код, то дайте плиз, как будет время - я почитаю с удовольствием.[/quote]
Помню, Maxim Elets, делал именно такую "красоту". Я думаю он будет не против поделиться опытом.
Результат получился супер![/quote]
То было полностью кастомное решение на backbone, если мы про одно и тоже)
То было полностью кастомное решение на backbone, если мы про одно и тоже)
Я про последний проект с которого я ушел - timeline сетка, на которой показываются "не будем говорить что". Это конечно не календарь в чистом виде, но принцип тот же - показать данные в определенные промежуток времени и навигация по времени с подгрузкой/перегрузкой данных.
[quote="Maxim Elets"]То было полностью кастомное решение на backbone, если мы про одно и тоже)[/quote]
Я про последний проект с которого я ушел :) - timeline сетка, на которой показываются "не будем говорить что". Это конечно не календарь в чистом виде, но принцип тот же - показать данные в определенные промежуток времени и навигация по времени с подгрузкой/перегрузкой данных.
Меня бесит вот что. Дали проект на доработку функционала. Хочешь сделать все красиво, заюзать Label, разделить код и т.д. Но тебе говорят что это не надо, и мы не хотим что бы так было. И пошло поехало( Смотришь через год на проект в целом, где были сделаны сотни правок и доработок и волосы седеют. Понимаешь, что новому человеку в ЭТОМ разобраться будет крайне трудно. А ведь переделать уже поздно! Все завязано друг на друга.
Меня бесит вот что.
Дали проект на доработку функционала.
Хочешь сделать все красиво, заюзать Label, разделить код и т.д. Но тебе говорят что это не надо, и мы не хотим что бы так было. И пошло поехало( Смотришь через год на проект в целом, где были сделаны сотни правок и доработок и волосы седеют. Понимаешь, что новому человеку в ЭТОМ разобраться будет крайне трудно. А ведь переделать уже поздно! Все завязано друг на друга.
Меня бесит вот что. Дали проект на доработку функционала. Хочешь сделать все красиво, заюзать Label, разделить код и т.д. Но тебе говорят что это не надо, и мы не хотим что бы так было. И пошло поехало( Смотришь через год на проект в целом, где были сделаны сотни правок и доработок и волосы седеют. Понимаешь, что новому человеку в ЭТОМ разобраться будет крайне трудно. А ведь переделать уже поздно! Все завязано друг на друга.
Это проблема большинства компаний. Нужно организационно внедрять стандарты на все процессы (разработка, тестирование, разворачивание продукта на орге заказчика). Добро пожаловать в Agile.
[quote="Виктор Сенько"]Меня бесит вот что.
Дали проект на доработку функционала.
Хочешь сделать все красиво, заюзать Label, разделить код и т.д. Но тебе говорят что это не надо, и мы не хотим что бы так было. И пошло поехало( Смотришь через год на проект в целом, где были сделаны сотни правок и доработок и волосы седеют. Понимаешь, что новому человеку в ЭТОМ разобраться будет крайне трудно. А ведь переделать уже поздно! Все завязано друг на друга.[/quote]
Это проблема большинства компаний. Нужно организационно внедрять стандарты на все процессы (разработка, тестирование, разворачивание продукта на орге заказчика). Добро пожаловать в Agile.
Это проблема большинства компаний. Нужно организационно внедрять стандарты на все процессы (разработка, тестирование, разворачивание продукта на орге заказчика). Добро пожаловать в Agile.
А для этого нужны опытные архитекторы или очень опытные разработчики, которые уже занимались вопросами разработки архитектуры приложения (а их просто так не найдешь ) А в 90% компаний - нашли разработчика, который умеет разрабатывать, он и разрабатывает. Отлично и быстно разрабатывает. Но млин через полгода понимает что надо было изначально идти другим путем Мне кажется идеально или даже хорошо спроектированных и разработанных приложений не существует Это миф.
[quote="wilder"]Это проблема большинства компаний. Нужно организационно внедрять стандарты на все процессы (разработка, тестирование, разворачивание продукта на орге заказчика). Добро пожаловать в Agile.[/quote]
А для этого нужны опытные архитекторы или очень опытные разработчики, которые уже занимались вопросами разработки архитектуры приложения (а их просто так не найдешь :) )
А в 90% компаний - нашли разработчика, который умеет разрабатывать, он и разрабатывает. Отлично и быстно разрабатывает. Но млин через полгода понимает что надо было изначально идти другим путем :)
Мне кажется идеально или даже хорошо спроектированных и разработанных приложений не существует :D Это миф.
Мне кажется идеально или даже хорошо спроектированных и разработанных приложений не существует Это миф.
Хорощо спроектированные приложения существуют. Также есть хорошие команды разаработчиков. Есть люди которые умееют наладить процесс. В общем разработкой должен заниматься не один человек, не два и не три, конечно, зависит от проекта и задач. Но, когда есть бизнесс аналитик, менеджер, ахитектор, тим лид, скарам мастер, клиентские и серверные разработчики, спец по БД, админ - это правда круто. Работать в такой команде одно удовольствие.
[quote="Dmitry Shnyrev"]Мне кажется идеально или даже хорошо спроектированных и разработанных приложений не существует Это миф.[/quote]
Хорощо спроектированные приложения существуют.
Также есть хорошие команды разаработчиков.
Есть люди которые умееют наладить процесс.
В общем разработкой должен заниматься не один человек, не два и не три, конечно, зависит от проекта и задач.
Но, когда есть бизнесс аналитик, менеджер, ахитектор, тим лид, скарам мастер, клиентские и серверные разработчики, спец по БД, админ - это правда круто. Работать в такой команде одно удовольствие.
Ну ладно, проблемы FullCalendar как-нибудь обсудим в другой теме, эта не очень подходящая.
Ну ладно, проблемы FullCalendar как-нибудь обсудим в другой теме, эта не очень подходящая.
Чтобы оживить тему(незнаю почему), напишу что меня сбесило вчера: 1. Кто-то сделал изменение в логике, и потом запутсил тести. Проблема в том что потом етот человек удалил тести которие фейлились.
2. После моих изменений в логике пришлось поправлять тести, так як заметил, что асерти несовсем коректно написани, в асерте нужно писать сначала Expected value а потом Actual value, но человек которий писал тести, етого видимо не знал, и писал раз так, а раз так(весело было разбираться, что и как).
А некоторие тести вообще были без асертов, и виглядили оооочень интерресно:
Чтобы оживить тему(незнаю почему), напишу что меня сбесило вчера:
1. Кто-то сделал изменение в логике, и потом запутсил тести. Проблема в том что потом етот человек удалил тести которие фейлились.
2. После моих изменений в логике пришлось поправлять тести, так як заметил, что асерти несовсем коректно написани, в асерте нужно писать сначала Expected value а потом Actual value, но человек которий писал тести, етого видимо не знал, и писал раз так, а раз так(весело было разбираться, что и как).
А некоторие тести вообще были без асертов, и виглядили оооочень интерресно:
[code]
static testMethod void test1() {
try {
callMethod1();
} catch (Exception ex) {
}
}
[/code]
try { callMethod1(); } catch (Exception ex) { }
Вот это реально круто! Не знал что так можно в тестах делать
[quote="Alex Tsitsura"]try {
callMethod1();
} catch (Exception ex) {
}[/quote]
Вот это реально круто! Не знал что так можно в тестах делать :D
а самое интересное в том что етот тест фейлился
Я добавил в логику все лиш 1 SOQL и 1 DML, и все System.LimitException, а он как раз и catch'ем не перехвативается. Прийшлось еще и метод переделивать, кто-то оставиль приколный форик, в котором на 250 строк написано ифов, в каждом из которих селект и инсерт.
а самое интересное в том что етот тест фейлился
Я добавил в логику все лиш 1 SOQL и 1 DML, и все System.LimitException, а он как раз и catch'ем не перехвативается. Прийшлось еще и метод переделивать, кто-то оставиль приколный форик, в котором на 250 строк написано ифов, в каждом из которих селект и инсерт.
Вот скажите, для кого вы пишите код? Вы думаете, что не только вам придется с ним работать?
Вот скажите, для кого вы пишите код?
Вы думаете, что не только вам придется с ним работать?
Снова "хороший" код? На прошлой работе достался легаси php-проект. (Gres тоже успел принять участие) Так вместо того, чтобы как можно раньше уйти от того ужаса, что уже был. Мы по сути начали все прикручивать по горизонтали, т.к. сказали, что нужно главное доделать в течение месяца, а уж потом-то точно все красиво сделаем Угадайте как все затянулось и когда настал момент, в который нам дали время всё красиво переделать? Это я к тому, что то что нам досталось вроде работало, но было абсолютно не расширяемым. А заказчику-то всё равно, работает же.
Снова "хороший" код? :)
На прошлой работе достался легаси php-проект. (Gres тоже успел принять участие)
Так вместо того, чтобы как можно раньше уйти от того ужаса, что уже был.
Мы по сути начали все прикручивать по горизонтали, т.к. сказали, что нужно главное доделать в течение месяца, а уж потом-то точно все красиво сделаем :)
Угадайте как все затянулось и когда настал момент, в который нам дали время всё красиво переделать?
Это я к тому, что то что нам досталось вроде работало, но было абсолютно не расширяемым. А заказчику-то всё равно, работает же.
Да постоянно. И первое что делаю когда принимаю код, беру время на рефакторинг. За это время обычно успеваю и логику понять и очевидные косяки переделать.
[quote="Gres"]Как часто вы работаете с легаси кодом?[/quote]
Да постоянно. И первое что делаю когда принимаю код, беру время на рефакторинг. За это время обычно успеваю и логику понять и очевидные косяки переделать.
Как часто вы работаете с легаси кодом?
Да постоянно. И первое что делаю когда принимаю код, беру время на рефакторинг. За это время обычно успеваю и логику понять и очевидные косяки переделать.
[quote="wilder"][quote="Gres"]Как часто вы работаете с легаси кодом?[/quote]
Да постоянно. И первое что делаю когда принимаю код, беру время на рефакторинг. За это время обычно успеваю и логику понять и очевидные косяки переделать.[/quote]
Сколько времени у тебя это занимает?
И первое что делаю когда принимаю код, беру время на рефакторинг. За это время обычно успеваю и логику понять и очевидные косяки переделать.
И это правильно! Просто некоторые любят еще сверху костылей написать, зачем приводить код в порядок, если бага/фича небольшая, а потом снова баг и еще и еще, и так в геометрической прогрессии, в итоге код СОВЕРШЕННО нечитаем. Задумайтесь об этом, когда пишете код.
[quote="wilder"]И первое что делаю когда принимаю код, беру время на рефакторинг. За это время обычно успеваю и логику понять и очевидные косяки переделать.[/quote]
И это правильно!
Просто некоторые любят еще сверху костылей написать, зачем приводить код в порядок, если бага/фича небольшая, а потом снова баг и еще и еще, и так в геометрической прогрессии, в итоге код СОВЕРШЕННО нечитаем.
Задумайтесь об этом, когда пишете код.
Сколько времени у тебя это занимает?
Это от обьема проекта зависит. Минимум 4-8 часов. Максимум что приходилось брать 5 рабочих дней.
[quote="Gres"]Сколько времени у тебя это занимает?[/quote]
Это от обьема проекта зависит. Минимум 4-8 часов. Максимум что приходилось брать 5 рабочих дней.
Сколько времени у тебя это занимает?
Это от обьема проекта зависит. Минимум 4-8 часов. Максимум что приходилось брать 5 рабочих дней.
[quote="wilder"][quote="Gres"]Сколько времени у тебя это занимает?[/quote]
Это от обьема проекта зависит. Минимум 4-8 часов. Максимум что приходилось брать 5 рабочих дней.[/quote]
Круто, когда тебе могут дать столько времени.
Хорошо, если заказчик понимает что это нужно. А так правильно RasMisha сказал
А заказчику-то всё равно, работает же.
Для них то что внутри - черная коробка, за которую кстати заплатили большие деньги.
Хорошо, если заказчик понимает что это нужно.
А так правильно RasMisha сказал
[quote="RasMisha"]А заказчику-то всё равно, работает же.[/quote]
Для них то что внутри - черная коробка, за которую кстати заплатили большие деньги.
черная коробка, за которую кстати заплатили большие деньги.
[quote="Dmitry Shnyrev"]черная коробка, за которую кстати заплатили большие деньги.[/quote]
Далеко не факт
Вот скажите, для кого вы пишите код? Вы думаете, что не только вам придется с ним работать?
Это опять же возвращаясь к тому что мы так жарко обсуждали про писать код проще или по другому. Программисты разные и у каждого разный подход. Никогда всем не угодишь.
У меня свои предпочтения в архитектуре кода, у тебя другие, а у кого-то просто опыта пока не хватает. Так что проблема чужого кода будет всегда и просто с этим надо смириться.
А по поводу переписывать код - на это еще надо решиться. Если например не просят сделать это специально, то я предпочитаю чужой код не трогать без явной необходимости. Нафига тебе брать на себя ответственность за то что накодили до тебя если оно работает?
[quote="Gres"]Вот скажите, для кого вы пишите код?
Вы думаете, что не только вам придется с ним работать?[/quote]
Это опять же возвращаясь к тому что мы так жарко обсуждали про писать код проще или по другому.
Программисты разные и у каждого разный подход.
Никогда всем не угодишь.
У меня свои предпочтения в архитектуре кода, у тебя другие, а у кого-то просто опыта пока не хватает.
Так что проблема чужого кода будет всегда и просто с этим надо смириться.
А по поводу переписывать код - на это еще надо решиться. Если например не просят сделать это специально, то я предпочитаю чужой код не трогать без явной необходимости. Нафига тебе брать на себя ответственность за то что накодили до тебя если оно работает?
А по поводу переписывать код - на это еще надо решиться. Если например не просят сделать это специально, то я предпочитаю чужой код не трогать без явной необходимости. Нафига тебе брать на себя ответственность за то что накодили до тебя если оно работает?
Суть в том, что оно всегда не работает/работает неправильно.
[quote="Dmitry Shnyrev"]А по поводу переписывать код - на это еще надо решиться. Если например не просят сделать это специально, то я предпочитаю чужой код не трогать без явной необходимости. Нафига тебе брать на себя ответственность за то что накодили до тебя если оно работает? [/quote]
Суть в том, что оно всегда не работает/работает неправильно.
Это опять же возвращаясь к тому что мы так жарко обсуждали про писать код проще или по другому. Программисты разные и у каждого разный подход. Никогда всем не угодишь.
Я не про подходы, а про элементарные вещи, их то уж нужно соблюдать.
[quote="Dmitry Shnyrev"]Это опять же возвращаясь к тому что мы так жарко обсуждали про писать код проще или по другому.
Программисты разные и у каждого разный подход.
Никогда всем не угодишь.[/quote]
Я не про подходы, а про элементарные вещи, их то уж нужно соблюдать.
Суть в том, что оно всегда не работает/работает неправильно.
:))) если оно не работает/работает неправильно почему заказчик про это сам не говорит и не платит деньги чтобы это починить? Значит его все устраивает, несмотря на то что ты считаешь что оно неправильно работает. Это уже не наши проблемы. Другие дело что если эти проблемы мешают нам работать, то их надо решать. А не так - код плохо написан надо его переписать.
[quote="Gres"]Суть в том, что оно всегда не работает/работает неправильно.[/quote]
:)))
если оно не работает/работает неправильно почему заказчик про это сам не говорит и не платит деньги чтобы это починить? Значит его все устраивает, несмотря на то что ты считаешь что оно неправильно работает.
Это уже не наши проблемы. Другие дело что если эти проблемы мешают нам работать, то их надо решать.
А не так - код плохо написан надо его переписать.
Я обычно работаю так: прихожу на проект - вижу что там жопа, закрываю на это глаза - у меня есть задача и время(деньги) - я ее решаю с нуля и пофиг на то что там может быть что-то похожее. Заказчик видит результат, ему пофиг как ты это написал. Зато у меня душа спокойна что я ничего чужого не сломал и мой код написан красиво (для меня). Если потом заказчик замечает что старое решение работает "хуже" твоего - просто говорю что там все плохо, у меня лучше это, это, это. Хотите чтобы остальное работало также платите.
А если придти на проект и сказать что у вас тут все хреново и надо переписать половину чтобы просто начать работать - поймут только программисты, не бизнесмены, которые бабки платят.
Я обычно работаю так:
прихожу на проект - вижу что там жопа, закрываю на это глаза - у меня есть задача и время(деньги) - я ее решаю с нуля и пофиг на то что там может быть что-то похожее. Заказчик видит результат, ему пофиг как ты это написал. Зато у меня душа спокойна что я ничего чужого не сломал и мой код написан красиво (для меня). Если потом заказчик замечает что старое решение работает "хуже" твоего - просто говорю что там все плохо, у меня лучше это, это, это. Хотите чтобы остальное работало также платите.
А если придти на проект и сказать что у вас тут все хреново и надо переписать половину чтобы просто начать работать - поймут только программисты, не бизнесмены, которые бабки платят.
Повторю, что это не касается того если придется что-то допиливать, переделывать. Тогда, да можно обсудить время на рефакторинг.
Млин. Опять сорвался. Дал же себе слово не начинать спорить :D Не удержался :D .
Эта тема субъективная и зависит от ситуации. Так что каждый тут прав.
если оно не работает/работает неправильно почему заказчик про это сам не говорит и не платит деньги чтобы это починить? Значит его все устраивает, несмотря на то что ты считаешь что оно неправильно работает. Это уже не наши проблемы. Другие дело что если эти проблемы мешают нам работать, то их надо решать. А не так - код плохо написан надо его переписать.
[quote="Dmitry Shnyrev"]если оно не работает/работает неправильно почему заказчик про это сам не говорит и не платит деньги чтобы это починить? Значит его все устраивает, несмотря на то что ты считаешь что оно неправильно работает.
Это уже не наши проблемы. Другие дело что если эти проблемы мешают нам работать, то их надо решать.
А не так - код плохо написан надо его переписать. [/quote]
Почему же - платит.
Почему же - платит.
Ну кто платит, тот и музыку заказывает! Клиент всегда прав .
Хочу тоже немного пожаловаться.
[code]
class SomeClass()
{
if (someVar)
{
...
}
else
{
...
}
}
[/code]
Нафига так делаеть (я про скобки {} )? Как такой код можно читать? У меня в экран только маленькая часть исходников помещается.
Хочу тоже немного пожаловаться.
class SomeClass() { if (someVar) { ... } else { ... } }
Нафига так делаеть (я про скобки {} )? Как такой код можно читать? У меня в экран только маленькая часть исходников помещается.
[quote="Dmitry Shnyrev"]Хочу тоже немного пожаловаться.
[code]
class SomeClass()
{
if (someVar)
{
...
}
else
{
...
}
}
[/code]
Нафига так делаеть (я про скобки {} )? Как такой код можно читать? У меня в экран только маленькая часть исходников помещается.[/quote]
c# стиль
c# стиль
Млин, по ходу это самое безобидное в этом проекте. А проект то боевой :(. По ходу какой-то товарищ тупо учился на этом проекте - вижу что чувак с опытом - всякие ООП штучки, но мля, все что можно было сделать неправильно в salesforce сделано. Но это еще цветочки - на то что творится в visualforce страницах без слез смотреть невозможно. Мало того что товарищ не знает всех прелестей VF, так еще и по ходу Javascript у него 0. Думал немного поправить страницу в итоге переписал полностью. Надо было сразу писать с нуля - быстрее бы вышло. Вот реально аж жалко стало заказчика.
[quote="Gres"]c# стиль[/quote]
Млин, по ходу это самое безобидное в этом проекте. А проект то боевой :(.
По ходу какой-то товарищ тупо учился на этом проекте - вижу что чувак с опытом - всякие ООП штучки, но мля, все что можно было сделать неправильно в salesforce сделано. Но это еще цветочки - на то что творится в visualforce страницах без слез смотреть невозможно. Мало того что товарищ не знает всех прелестей VF, так еще и по ходу Javascript у него 0.
Думал немного поправить страницу в итоге переписал полностью. Надо было сразу писать с нуля - быстрее бы вышло.
Вот реально аж жалко стало заказчика.
c# стиль
Млин, по ходу это самое безобидное в этом проекте. А проект то боевой :(. По ходу какой-то товарищ тупо учился на этом проекте - вижу что чувак с опытом - всякие ООП штучки, но мля, все что можно было сделать неправильно в salesforce сделано. Но это еще цветочки - на то что творится в visualforce страницах без слез смотреть невозможно. Мало того что товарищ не знает всех прелестей VF, так еще и по ходу Javascript у него 0. Думал немного поправить страницу в итоге переписал полностью. Надо было сразу писать с нуля - быстрее бы вышло. Вот реально аж жалко стало заказчика.
При чем тут заказчик то? Наверно, тебе придется себя пожалеть, тебе же все исправлять)
[quote="Dmitry Shnyrev"][quote="Gres"]c# стиль[/quote]
Млин, по ходу это самое безобидное в этом проекте. А проект то боевой :(.
По ходу какой-то товарищ тупо учился на этом проекте - вижу что чувак с опытом - всякие ООП штучки, но мля, все что можно было сделать неправильно в salesforce сделано. Но это еще цветочки - на то что творится в visualforce страницах без слез смотреть невозможно. Мало того что товарищ не знает всех прелестей VF, так еще и по ходу Javascript у него 0.
Думал немного поправить страницу в итоге переписал полностью. Надо было сразу писать с нуля - быстрее бы вышло.
Вот реально аж жалко стало заказчика.[/quote]
При чем тут заказчик то?
Наверно, тебе придется себя пожалеть, тебе же все исправлять)
Как раз мне то чего себя жалеть? Мне это все переделывать не надо, мне пока за это не платят. Ну собственно и заказчик пока не знает что у него там под капотом, потому что штатных разработчиков у них нет, а старый по ходу ушел не очень по вежливому. А если и попросят исправлять, то буду выставлять счет :). Так что мне наоборот может даже на руку. А вообще кода функционала там не сильно много, я за день все разобрал по коду без объяснения даже функционала. А заказчика жалко потому что он то платил за это же деньги, и наверное не малые.
Как раз мне то чего себя жалеть? Мне это все переделывать не надо, мне пока за это не платят. Ну собственно и заказчик пока не знает что у него там под капотом, потому что штатных разработчиков у них нет, а старый по ходу ушел не очень по вежливому.
А если и попросят исправлять, то буду выставлять счет :). Так что мне наоборот может даже на руку.
А вообще кода функционала там не сильно много, я за день все разобрал по коду без объяснения даже функционала.
А заказчика жалко потому что он то платил за это же деньги, и наверное не малые.