реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как вы пишете код в продакшене?
Tronix286
сообщение Jun 26 2015, 21:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 25-10-14
Пользователь №: 83 341



Настает время, когда проще из различных кусков копи-пастой собрать готовый проект с минимумом правок - там закоментил, тут немного китайского кода. При этом осознаешь, что это полнейший говнокод, треш и угар, так писать ни в коем случае нельзя, и все надо переписать с нуля в идеале, но лень и вроде работает - не трож, а то перестанет. Cроки и вроде работает. Что это? Я один такой?
Go to the top of the page
 
+Quote Post
DASM
сообщение Jun 27 2015, 03:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Не один. Код ядра Линукса например считаю уродливым, но не смог бы даже так. При это Линукс использую.Если так мучает перфекционизм - можно чужой код в либы собрать, оставив только интерфейс. Как вариант.
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Jun 27 2015, 11:24
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502



Цитата(Tronix286 @ Jun 26 2015, 22:54) *
Настает время, когда проще из различных кусков копи-пастой собрать готовый проект с минимумом правок - там закоментил, тут немного китайского кода. При этом осознаешь, что это полнейший говнокод, треш и угар, так писать ни в коем случае нельзя, и все надо переписать с нуля в идеале, но лень и вроде работает - не трож, а то перестанет. Cроки и вроде работает. Что это? Я один такой?


Это нормально! Кроме вас есть еще несколько миллионов говнокодящих индюков и китайцев sm.gif

Учебник:
http://ic.pics.livejournal.com/droids_life...427/427_600.jpg

Сообщение отредактировал CrimsonPig - Jun 27 2015, 11:26
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Jun 28 2015, 05:16
Сообщение #4


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Когда возникает искушение так сделать, я думаю о том, как стремно будет спустя год или два, когда потребуется что-то поменять, разбираться в этой лаже.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jun 28 2015, 07:31
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



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

И да, нормально написанный-документированный код читабелен и может быть повторно применен и через десять лет.
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Jun 28 2015, 14:54
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Цитата(Tronix286 @ Jun 27 2015, 01:54) *
Настает время, когда проще...

+1
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 29 2015, 01:55
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(CrimsonPig @ Jun 27 2015, 17:24) *
Это нормально! Кроме вас есть еще несколько миллионов говнокодящих индюков и китайцев sm.gif

+1
Go to the top of the page
 
+Quote Post
agregat
сообщение Jun 29 2015, 03:45
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(Tronix286 @ Jun 27 2015, 00:54) *
Настает время... но лень и вроде работает - не трож, а то перестанет....Я один такой?

Нет не один, но опускаться до уровня индусов не следует по многим причинам.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 29 2015, 06:19
Сообщение #9


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(agregat @ Jun 29 2015, 06:45) *
Нет не один, но опускаться до уровня индусов не следует по многим причинам.


А что за уровень у индусов и китайцев?
Все о нем говорят, но мне никогда не приходилось видеть.

Мне кажется самый угарный код у недавних студентов накачанных учебниками типа "Совершенный код" , " Искусство программирования на..." , "Паттерны проектирования" ...
А на самом деле Твой код никого не интересует biggrin.gif
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Jun 29 2015, 07:11
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502



Цитата(AlexandrY @ Jun 29 2015, 07:19) *
А что за уровень у индусов и китайцев?
Все о нем говорят, но мне никогда не приходилось видеть.


Вам приходилось когда-нибудь сталкиваться с супердешевыми китайскими товарами откровенно поганого качества? Типа, что продается в магазинах "все за N рублей" ?
Ну вот и код, создаваемый толпой дешевых говнокодеров, нанимаемых по рублю за пучок, примерно такой же sm.gif
Среди тех же индюков-китайцев существуют нормальные программисты, но они стоят сравнимо с нормальными западными.
Говноменеджементу же хочется нанимать толпу ресурсов и подешевле.

Те, кто сталкивался с методологией "наследование классов по-индусски", над паттернами программирования не смеется sm.gif
Go to the top of the page
 
+Quote Post
halfdoom
сообщение Jun 29 2015, 07:21
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072



Цитата(Tronix286 @ Jun 27 2015, 00:54) *
проще из различных кусков копи-пастой собрать готовый проект с минимумом правок - там закоментил, тут немного китайского кода. При этом осознаешь, что это полнейший говнокод, треш и угар, так писать ни в коем случае нельзя, и все надо переписать с нуля в идеале, но лень и вроде работает - не трож, а то перестанет.


Это говорит о нежелании или неумении систематизировать свои (и чужие) разработки оформляя их в библиотеки. "Копи-паст" должен быть сведен к минимуму.
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Jun 29 2015, 07:43
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502



Цитата(halfdoom @ Jun 29 2015, 08:21) *
Это говорит о нежелании или неумении систематизировать свои (и чужие) разработки оформляя их в библиотеки. "Копи-паст" должен быть сведен к минимуму.


Слишком категоричное утверждение, ИМХО. В жизни всегда есть место копи-пасту sm.gif Заниматься созданием библиотек надо, если это оправдано..
Какой смысл заниматься разработкой библиотеки, если она нужна один раз и в одном проекте ? Стаскивать всякое барахло и организовывать его в библиотеку ? Есть вещи в жизни и по-интереснее.
Говнокоду тоже есть место в жизни, если надо накидать по-быстрому какой-нибудь опытный образец, например.

Вообще-то существуют методики оценки качества кода, включая оценки процента копипаста внутри проектов sm.gif Некоторая поблема заключается в том, что многие методики неприменимы или очень сложно применимы к разным видам софта (типа эмбеддед) или их применение неоправданно дорого, да и вообще процесс разработки софта, похоже, не формализуем.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 29 2015, 08:09
Сообщение #13


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(CrimsonPig @ Jun 29 2015, 10:43) *
Стаскивать всякое барахло и организовывать его в библиотеку ?


Да о каком барахле вы говорите, покажите это барахло.

А то как-то логика хромает: ума значит понять, что это барахло хватает, а самому написать барахло ума не хватает?
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Jun 29 2015, 10:53
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



тут в борьбе главное приоритеты расставить и сроки расписать.
Попробуйте составить план хотелок ну хотя бы по текущему проекту, со сроком исполнения и аргументацией "зачем оно надо". А потом расставьте приоритеты. А потом покажите это человеку, который за это платит (начальнику, если в рабочее время хотите сделать; или жене, если трудовой подвиг будет совершаться в дополнительное время). И список очень быстро уменьшится до приемлемого и действительно полезного.
Это вообще всего касается, не только программирования sm.gif
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Jun 29 2015, 12:11
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502



Кстати, про говнокодеров и не очень:

http://geektimes.ru/post/252690/

Опять же, советую обратить внимание на случай с Арианом.. Вопросы "а как мне преобразовать float в int а потом обратно" до сих пор мучают неокрепшие умы кгхм..кодеров судя по данному форуму и дгугим, типа сахары. . sm.gif
Окрепшие умы таких же кодеров, небось, смело и прямо проверяют даблы на равенство путем "==" sm.gif

Go to the top of the page
 
+Quote Post
skripach
сообщение Jun 29 2015, 13:56
Сообщение #16


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата(CrimsonPig @ Jun 29 2015, 15:11) *
Окрепшие умы таких же кодеров, небось, смело и прямо проверяют даблы на равенство путем "==" sm.gif

Мой разум ещё не окреп crying.gif , просветите насчет даблов.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Jun 29 2015, 14:02
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502



Цитата(skripach @ Jun 29 2015, 14:56) *
Мой разум ещё не окреп crying.gif , просветите насчет даблов.


Пожалуйста:
http://stackoverflow.com/questions/1897153...orking-properly
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 29 2015, 14:15
Сообщение #18


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(CrimsonPig @ Jun 29 2015, 17:02) *


Это не в тему.
Мужики просто не знают свое железо.
Go to the top of the page
 
+Quote Post
CrimsonPig
сообщение Jun 29 2015, 14:22
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 329
Регистрация: 23-04-14
Пользователь №: 81 502



Цитата(AlexandrY @ Jun 29 2015, 15:15) *
Это не в тему.
Мужики просто не знают свое железо.


Ммм.. что-то я начал терять нить... ну ладно, вот пример про сравнение даблов
volatile здесь шоб никто не догадался sm.gif

volatile double d1 = 1.0/3.0;
volatile double d2 = 7.0/3.0;
d2 /= 7.0;
assert(d1 == d2);
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 29 2015, 14:51
Сообщение #20


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(CrimsonPig @ Jun 29 2015, 15:11) *
Кстати, про говнокодеров и не очень:

http://geektimes.ru/post/252690/

Опять же, советую обратить внимание на случай с Арианом.. Вопросы "а как мне преобразовать float в int а потом обратно" до сих пор мучают неокрепшие умы кгхм..кодеров судя по данному форуму и дгугим, типа сахары. . sm.gif
Окрепшие умы таких же кодеров, небось, смело и прямо проверяют даблы на равенство путем "==" sm.gif


Только при чем тут код? Или кодом называете сниппеты на пару строк?

Ошибки в распределенных и RT системах управления это классика.
На этот счет появляются даже теоремы типа теоремы CAP


Цитата(CrimsonPig @ Jun 29 2015, 17:22) *
Ммм.. что-то я начал терять нить... ну ладно, вот пример про сравнение даблов
volatile здесь шоб никто не догадался sm.gif

volatile double d1 = 1.0/3.0;
volatile double d2 = 7.0/3.0;
d2 /= 7.0;
assert(d1 == d2);


Это совершенно некорректный пример
Правильный пример вот:
Код
   volatile double d1 = 20000.0;
   volatile double d2 = 1.0;
   volatile double k1 = 60000.0;
   volatile double k2 = 3.0;
  
   d1 = d1/k1;
   d2 = d2/k2;

   if (d1==d2)
   {
      printf("d1(%f)==d2(%f)",d1,d2);
   }
   else
   {
      printf("d1(%f)<>d2(%f)",d1,d2);
   }


И знаете, d1 и d2 будут равны друг другу.
Изучайте железо.
Go to the top of the page
 
+Quote Post
SSerge
сообщение Jun 29 2015, 15:22
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(AlexandrY @ Jun 29 2015, 21:51) *
И знаете, d1 и d2 будут равны друг другу.
Изучайте железо.

А вот sqrt(2.0) и 2.0/sqrt(2.0) уже не равны.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Jun 29 2015, 16:38
Сообщение #22


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(AlexandrY @ Jun 29 2015, 09:51) *
И знаете, d1 и d2 будут равны друг другу.
Изучайте железо.


А при чем тут "изучайте железо"? То, что в вашем примере будет д1==д2 не отменяет того факта, что в общем случае сравнивать числа с плавающей точкой на равенство - безграмотно. И это безотносительно железа.
Go to the top of the page
 
+Quote Post
halfdoom
сообщение Jun 30 2015, 04:56
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072



Цитата(CrimsonPig @ Jun 29 2015, 10:43) *
Какой смысл заниматься разработкой библиотеки, если она нужна один раз и в одном проекте ?

Если человек готовит очередной проект путем копирования кусков из предыдущего, то уже есть повторяемость кода. Конечно, скелет проекта может быть скопирован, но рутинные функции должны быть в "одном месте".

Цитата(AlexandrY @ Jun 29 2015, 09:19) *
А что за уровень у индусов и китайцев?
Все о нем говорят, но мне никогда не приходилось видеть.

Чаще всего имеется в виду механическая реализация требуемого алгоритма, без какого либо процесса формализации и попыток нормализации. Принцип прост - должно работать здесь и сейчас. Практически нет выделения в функции повторяющихся фрагментов и т.д. и т.п. Говорю это по факту знакомства с NDA библиотекой от весьма известной фирмы. При этом не могу утверждать, что это уровень "индусов и китайцев", поскольку в копирайтах конкретного автора нет, однако объем писанины впечатляет.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 30 2015, 05:44
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Предлагаю переименовать данный топик на более подходящее: "Быдлокодить или не быдлокодить? - вот в чём вопрос!" sm.gif

Цитата(halfdoom @ Jun 30 2015, 10:56) *
При этом не могу утверждать, что это уровень "индусов и китайцев", поскольку в копирайтах конкретного автора нет, однако объем писанины впечатляет.

"Индусский код" - это не национальная характеристика, это уровень профессионализма (т.е. - его отсутствие). Раньше это называли "халтура".
Индусский код может писать и коллега за соседним столом вполне славянской внешности.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 15:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01576 секунд с 7
ELECTRONIX ©2004-2016