Перейти к содержанию
    

Программисты и электроники

I recall a small project where I wrote about 1000 lines on the first day. On the second day, found a library that solved most of the problem for me, so I was able to cut the solution down to about 50 lines of code. On the third day, found a second library that solved virtually the exact problem, so it was cut down again to 2 lines of code. 2 lines of code in 3 days."

 

И это нормально, если Вы в долгосрочном проекте, с какого то момента объем кода перестает расти, и даже уменьшается, и все усилия направлены на оптимизацию и исправление ошибок.

 

Но да, если у Вас проект занимает один месяц, или неделю, тут не может быть кода размером в три строки по определению...

То есть цифра 6 строк в день это для серьезных долгосрочных проектов в которых работают командами несколько месяцев.

 

Я отвечал на 3х месячный проект с 500 строчками из 500000 написанных в процессе. № месяца это вполне нормальный стартовый проект.

Но по примеру, тут выходит люди просто не знали о существующих библиотеках, причем таких что с 1000 строк, сразу сократили до 50, единственное предположение что взяли уже готовые функции и просто использовали их в коде, хотя сам код по сути не изменился, тот же копипаст, только вот скрытую в библиотеке не свою функцию уже не поправить ручками. То же самое и до 2х строк, были функции func0()..func49() а стало 2 bfunc0() и bfunc1() просто в которых {func0();func1()..func24()} ну да ну да, оптимизация просто прелесть))) копипаст чистейшей воды.

 

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

как пример для детсада))) считать ли полезным кодингом когда задача зажечь лампочку только при наличии 2х людей

if(chel!=1) первый вариант был, потом понятно стал if(chel==2) считать ли такой подход как нормальный кодинг, когда в первом варианте ошибка из-за неправильного понимания конкретики задачи? прогер супер грамотный когда не может проработать задачу и предварительно пишет с грубыми ошибками?

Я не говорю что сразу можно все просчитать, но вот 500 из 500000 это уже перебор, даже для обезьяны)))

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

означает что на 9 скопированных строк, будет одна отличающаяся.

нет, там вы написали не так

 

сколько вы видите строк ?

 

using NSDrawing = System.Drawing;

namespace XL
{
    // XL.Graphics
    public static class Graphics
    {
        // XL.Graphics.Sum
        public static int Sum(int a, int b)
        {
                return a + b;
        }
    }
}

 

их тут ровно тринадцать даже четырнадцать

на одну строку реализации

 

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

можете сделать меньше ? нет не можете, нельзя

выкинуть using нельзя, ибо функции обычно посложнее a+b

выкинуть комментарии нельзя, ибо это не комментарии, а прототипы для вызова

собрать скобки в одну строку нельзя, за такое вообще сразу вешают и расстреливают

легко в разы, ага

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как правило ПО никогда не пишется так что "написал и забыл". Есть такая вещь как поддержка, также - исправление багов (которые могут проявиться гораздо позднее и исправлять их будет уже другой чел). И при поиске и исправлении этих багов, придётся рыться во в 10 раз большем количестве быдлокода.

А если это к тому же действительно "либа", то значит предполагается, что она будет использоваться и в других проектах, а, следовательно, если в данном проекте может и фиг с ним, что не так оптимально и съедает в 10 раз больше места, то в другом проекте это уже будет критично.

Не встречал ещё проектов, когда (даже если всё работает) заказчик не захотел в дальнейшем добавления новых фич.

 

...

Да - тут кто-то писал что типа "программисты каждый раз всё заново переписывают". Вот как правило такой код, который написан "кое как побыстрее, но ведь и так работает же" и переписывается потом заново с нуля.

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

И если не вылизано до сияющего блеска, это не обязательно "кое как побыстрее".

Изменено пользователем Фрол Кузьмич

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

И почему вы полагаете, что если не вылизано до сияющего блеска, то обязательно "кое как побыстрее"?

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

Или не функцию, а участок функции, в котором отличается скажем одна строковая константа и раз так 10 или 20 скопипастить. Вместо того чтобы подумать и додуматься до массива константных строк.

И переписывать такое приходилось, когда размер исходника уменьшался в результате в несколько раз. Да и размер кода и время выполнения тоже.

Когда код написан нормально, то да - не всегда есть смысл его оптимизировать даже если можно. Но если он написан без участия головы - это не оптимизация, а полная переделка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сразу вспоминается баш

Цитата

Вася и Петя одновременно начали писать один и тот же продукт.

Вася был «ориентирован на результат» и начал сразу писать говнокод не продумав толком архитектуру.

А Петя месяц разрабатывал архитектуру, месяц делал удобный интуитивный интерфейс, которому позавидывал бы Джони Айв, потом месяц писал тесты, потом два месяца писал сам код и получил идеальное стабильное приложение.

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

Итого, через пять месяцев у Васи было два работника, куча клиентов и сносно работающее приложение отвечающее желаниям клиентов.

У Пети было вылизанное никому не известное приложение, минус на банковском счёте и ни одного клиента.

В завершение этого выдуманного примера можно сказать, что через полгода Вася купил все наработки Пети, Петю взял в штат тестировщиком, а сам по пьяни разбился на своём новеньком Туареге

Ну так ничто не ново под луной

 

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

Вышесказанное получает новое подтверждение в неоднократно наблюдавшихся фактах:

1) В большой разнице между издержками первоначальной постройки новой машины и издержками её производства в последующем, о чём писали Юр и Баббедж 40.

2) В том, что издержки, которых требует ведение предприятия, применяющего впервые новые изобретения, всегда значительно больше, чем издержки более поздних предприятий, возникших на его развалинах, ex suis ossibus *. Этот момент настолько значителен, что предприниматели-пионеры в своём большинстве терпят банкротство, и процветают лишь их последователи, которым строения, машины и т. п. достаются по более дешёвым ценам. Именно поэтому наибольшую выгоду из всех новых достижений всеобщей работы человеческого ума и их общественного применения, осуществляемого комбинированным трудом, в большинстве случаев извлекают самые ничтожные и жалкие представители денежного капитала.

(с) Капитал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы прямо сейчас освоите Mentor VX2 или Cadence 17 или хотя бы Altium на современном уровне,

и сможете за 4 часа построить модель высокоскоростного канала, сделать pre layout simulation, оттрассировать. сделать post layout

simulation, а также провести 3D моделирование SI,PI и EMI. Вас прямо завтра под белы ручки посадят в московскую компанию

с окладом 120 на руки без вопросов. Вот как в сказке тыкаешь в hh.ru и в любую компанию.

 

Правда на это все уйдет ресурсов едва ли не больше, да нет, точно больше, чем стать программистом уровня intermediate с нуля.

О том и речь. Что "порог вхождения" у электронщиков сейчас существенно выше, чем у программистов.

Не случайно же, что сейчас зачастую 20...22-х летние пацаны программисты получают существенно больше, чем бородатые седые мужики электронщики с опытом over 10 лет.

Поэтому молодёжь в инженегры-электронщики не охотно идет: знать надо много, гемору много, а денег мало.

Более того, даже те, кто уже работал много лет электронщиками начинают валить в программисты.

 

Читайте внимательнее, я же ссылки приводил.

Шесть строчек в день для программиста не означает что он написал шесть строчек с 9 до 9.15 и все остальное время сидит и пьет кофе.

Вы за три месяца можете написать, удалить и переписать полмиллиона строк и в итоге будет бумажка на 500 строк которая эффективно

выполняет задачу. Из чего средняя скорость 500/90 = 6 строк в день.

Хотя руды перелопачено 600 строк в день и никакого копипаста.

Поясню, для тех кого смущает "6 строчек в день".

Имеется в виду 6 строк ОТЛАЖЕННОГО кода. Т.е. Вы можете написать 100 000 строк кода. А в в результате через 5 лет в релиз пошло только 100 строк. Из-за того, что Вы их 100 раз правили, удаляли, переписовали, рефакторили и т.п.

 

Приведу пример: У меня было такое, что я полгода писал прошивку для МК. Около 20 000 строк кода. А потом за ночь переписал её с нуля. И в проге осталось всего лишь около 1200 строчек. Т.е. "метод проб и ошибок" позволил мне накопить опыт, что в конце концов я "выстрелил" и написал за ночь 1200 строк. Но считать что скорость написания у меня была 1200 строк в день будет неправильно. Нужно делить их на полгода, что я возился с программой

Изменено пользователем Николай Семёнович

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поясню, для тех кого смущает "6 строчек в день".

 

Чего-то не понимаю это вообще! Какая разница, сколь кода я напишу, главное - реализация поставленной задачи в срок, если она сложная, разбиваем на модули и вперед... Причем здесь кол-во строк??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спор видимо о том, считать ли программистом, человека пишущего по 6 строк в день

я считаю - не считать

например, решаете вы задачу пуанкаре, написали за 20 лет 200 строчек и таки решили - кто вы тут, программист штоле ?

так что не по 6 строчек надо писать, а по 600, тогда зарплата может будет не 25, а 250

ещё количество строк причем, что в 6 строчек даже hello world не на каждом языке напишешь

не получится написать программу не написав необходимого, огромного количества кода, увы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Причем здесь кол-во строк??

Может, так работадателю легче обосновать почему так мало денег.

Неужели где-то считаю число строк всерьез?

По теме есть притча в разных ее вариантах, но с примерно похожей концовкой

Правда, фирма всё же запросила у него объяснение, за что он взял целых 1000 франков? Капица ответил: «Один франк за удар и 999 – за то, что знал, куда ударить…»

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спор видимо о том, считать ли программистом, человека пишущего по 6 строк в день

я считаю - не считать

например, решаете вы задачу пуанкаре, написали за 20 лет 200 строчек и таки решили - кто вы тут, программист штоле ?

так что не по 6 строчек надо писать, а по 600, тогда зарплата может будет не 25, а 250

ещё количество строк причем, что в 6 строчек даже hello world не на каждом языке напишешь

не получится написать программу не написав необходимого, огромного количества кода, увы

Да будет Вам.

Как будто в работе программиста есть что-то сложное, как будто не любой сможет её выполнять.

Да весь хабар забит лафстори в стиле "как я заснул уборщиком в сортире, а проснулся программистом".

Вот из последнего

Человек всю жизнь работал хирургом. А потом в 40 лет пошёл в программисты и за 3 года вырос до тимлида.

Халява же.

Ни в какой другой профессии невозможен столь быстрый рост.

К примеру в инженерии (да и в той же хирургии) 10 лет опыта - это ты ещё молодой специалист

 

спор видимо о том, считать ли программистом, человека пишущего по 6 строк в день

я считаю - не считать

Весь вопрос ещё как считать. В смысле строки. То что программист написал или то, что в конце концов остались в релизе?

 

Причем здесь кол-во строк??

Ну если работодатель узнает, что ты полгода размышлял как написать 20 строчек кода, то это вызовет ряд вопросов у работодателя :lol:

Изменено пользователем Николай Семёнович

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да будет Вам.

Как будто в работе программиста есть что-то сложное, как будто не любой сможет её выполнять.

 

Что же помешало Вам перейти в программисты и начать зарабатывать в 4 раза больше?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что же помешало Вам перейти в программисты и начать зарабатывать в 4 раза больше?

Люблю работу электронщика

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люблю работу электронщика

 

ИМХО, если:

1) Человек уже на собственном опыте знает, что ЗП "электронщика" мала,

2) Человек любит работу "электронщика",

3) Человек без проблем может сменить свою работу на работу с много большей ЗП,

4) Человек не меняет работу из-за п.2 несмотря на п.1,

5) Человек жалуется в каждой второй теме форума, что ЗП "электронщика" мала

 

То это, как минимум странно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Начну с рассказа и закончу вопросом.

6 индусов делают некую программную работу два месяца (и не закончили).

1 русский сделал это за 1 день.

Конечно написал при этом 20-30 строк кода.

Кто он программист ? наладчик ? отладчик ? И какая должна быть его зарплата ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так что не по 6 строчек надо писать, а по 600, тогда зарплата может будет не 25, а 250

Прочитайте про "индусский код". Это Ваш случай.

 

Как будто в работе программиста есть что-то сложное, как будто не любой сможет её выполнять.

Кто-ж мешает Вам проснуться завтра программистом с немеряной зарплатой, вместо нытья тут о несчастной судьбе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...