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

05.03.10

Разработка - Математика и алгоритмы

10 небольших правил, выполнение которых, увеличит эффективность работы любого программиста.

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


1. Техническое задание для каждой задачи (кроме мелких). Разбить большую задачу на этапы.

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


2. Расставить правильно приоритеты и следовать им.


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


3. Установить конкретные сроки.


Если есть возможность оценить в часах заранее работы, лучше им назначить конкретный срок. Так она будет выполнена быстрее.
Небольшое замечание - не нужно расписывать каждый рабочий день по минутам. Мы же не роботы. Так можно стать "заложниками" собственных планов,
испытывать несправедливое осуждение за невыполненную "по плану" работу. К тому же, не секрет, что многие программисты амбициозны и их сроки выполнения лучше умножить на 1.5..
Поэтому лучше определить где-то половину своего рабочего времени.


4. Делать задачу сразу же, как есть возможность. Лучше, чтобы было все готово заранее\за день.


Потому что так хочется отложить работу на завтра когда еще есть время. И постоянно получается, что все доделывается в последний момент\ночь.
Так и невротиком можно стать от постоянных "пожаров" - важных задач, которые нужно сделать прямо сейчас.


5. Код должен быть с комментариями, понятным и аккуратным.


Бывало, что смотришь на свой код через полгода, где сложный алгоритм и нет комментариев, и тратишь какое-то время, чтобы врубиться.
Или в чужой. Смотришь, смотришь.. и пишешь заново все..


6. Тестирование любого изменения.


Обязательно. Даже если кажется, что все 100% работать будет, да и код чуток всего поменял.

Пару раз попал из-за этого в неприятную ситуацию.


7. Отдыхать. Через каждые 2 часа делать небольшой перерыв на 10 минут.


Самое важное. Не стоит работать и по ночам - эффективность очень сильно снижается, все равно придется отсыпаться.


8. Не брать больше 3х проектов одновременно.


3 - максимум. Чтобы было меньше ситуаций, когда работаешь на 5ти проектах и утром получаешь 3 звонка о том, что нужно срочно приехать\доделать.
Эффективность тоже падает.


9. Потратить несколько минут на поиск решения поставленной задачи в интернете или у друзей.


Поставленная задача скорее всего была кем-то решена. И не раз.


10. Делать архивные копии.


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

См. также

Метод Дугласа-Пойкера для эффективного хранения метрик

Математика и алгоритмы Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

На написание данной работы меня вдохновила работа @glassman «Переход на ClickHouse для анализа метрик». Автор анализирует большой объем данных, много миллионов строк, и убедительно доказывает, что ClickHouse справляется лучше PostgreSQL. Я же покажу как можно сократить объем данных в 49.9 раз при этом: 1. Сохранить значения локальных экстремумов 2. Отклонения от реальных значений имеют наперед заданную допустимую погрешность.

1 стартмани

30.01.2024    1754    stopa85    12    

33

Алгоритм симплекс-метода для решения задачи раскроя

Математика и алгоритмы Бесплатно (free)

Разработка алгоритма, построенного на модели симплекс-метода, для нахождения оптимального раскроя.

19.10.2023    4416    user1959478    50    

34

Регулярные выражения на 1С

Математика и алгоритмы Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Россия Абонемент ($m)

Что ж... лучше поздно, чем никогда. Подсистема 1С для работы с регулярными выражениями: разбор выражения, проверка на соответствие шаблону, поиск вхождений в тексте.

1 стартмани

09.06.2023    7458    4    SpaceOfMyHead    17    

56

Модель распределения суммы по базе

Математика и алгоритмы Платформа 1С v8.3 Россия Абонемент ($m)

Обычно под распределением понимают определение сумм пропорционально коэффициентам. Предлагаю включить сюда также распределение по порядку (FIFO, LIFO) и повысить уровень размерности до 2-х. 1-ое означает, что распределение может быть не только пропорциональным, но и по порядку, а 2-ое - это вариант реализации матричного распределения: по строкам и столбцам. Возможно вас заинтересует также необычное решение этой задачи через создание DSL на базе реализации текучего интерфейса

1 стартмани

21.03.2022    7855    7    kalyaka    11    

44

Изменения формата файлов конфигурации (CF) в 8.3.16

Математика и алгоритмы Платформа 1С v8.3 Бесплатно (free)

Дополнение по формату файлов конфигурации (*.cf) в версии 8.3.16.

16.12.2021    4444    fishca    13    

36

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    8835    John_d    73    

46

Механизм анализа данных. Кластеризация.

Математика и алгоритмы Анализ учета Платформа 1С v8.3 Анализ и прогнозирование Бесплатно (free)

Подробный разбор, с примером использования, встроенного механизма кластеризации 1С.

31.08.2021    7801    dusha0020    8    

70
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. trozz 05.06.09 10:53 Сейчас в теме
Жизненно, но по моему это очевидно любому, и не программисту тоже.
16. ValentinV 07.06.09 21:10 Сейчас в теме
Вот тут
http://infostart.ru/forum/forum15/topic9707/messages75014/#message75014
alexk-is 03.06.09 11:53
(1) По терминологии кажется так:
"Тех. задание" - описание потребностей со слов заказчика.
Тех. задание является основанием для составления технического проекта.
В техническом проекте указывается перечень необходимых к выполнению работ.
По техническому проекту составляется график проведения работ,
в котором указываются сроки и ответственные за этапы со стороны заказчика и исполнителя.

Иначе:
задание - проект - перечень работ - график - сроки - ответственные

Вcе верно т.к. всесильно и наоборот:)
И психологически и юридически и математически и организационно-технологически...
Это проверяется.
======================================================
У Вас Фигня на масле. Вас заказчик за такие вещи еще не оскорблял?
Вам я плюс не поставлю, самому нужны, а минусы я не ставлю.
2. luns 05.06.09 10:53 Сейчас в теме
В принципе очевидные вещи, но +
3. iddqdidkfa 05.06.09 12:42 Сейчас в теме
По 8 пункту хочу уточнить: пусть будет больше 3-х проектов, но пусть они будут отложенными (т.е. клиент знает, что им начнут заниматься с такого-то числа) Если проектов станет уж сильно много - лучше скооперироваться с друзьями в подобие организации.
12. Altez 256 06.06.09 10:46 Сейчас в теме
по п.7: Одолживший мне денег сишник работает по ночам. В плане дохода эффективность его несколько выше))
(3)ищу друзей пишущих проги-курсовые по 1 т.р.)
4. venger 2121 05.06.09 13:13 Сейчас в теме
(0) Как бы это к рубрике Life относится, не желаете перенести в Life?
5. sCHTASS 49 05.06.09 13:21 Сейчас в теме
Относительно пункта 3.

> К тому же, не секрет, что многие программисты амбициозны и их сроки выполнения лучше умножить на 1.5.

Умнажать нужно на три - проверено временем.
6. AS108 151 05.06.09 14:24 Сейчас в теме
Полностью солидарна, у меня это называется "План-график". На его составление уходит обычно немного времени, но дальнейшая корректировка уже готового плана по ходу в зависимости от обстоятельств помогает экономить много времени и сил.
7. tsd 105 05.06.09 16:13 Сейчас в теме
великое искусство верховой езды заключается в том, чтобы… правильно держать равновесие (Белый рыцарь)
Все сабж знают, вот только почему то не применяют :)
8. toypaul 63 05.06.09 21:38 Сейчас в теме
100%!
пытаюсь следовать. иногда даже получается.
обычно нарушаются пп 4-9 особенно п. 4
9. O-Planet 6431 05.06.09 23:33 Сейчас в теме
Если речь идет "и о клиенте", то нужно 11: Платить программисту на 200 % больше, чем он просит. Вот тогда точно жить всем станет легко.
10. CheBurator 3119 06.06.09 00:43 Сейчас в теме
Пропущены несколько важных пунктов.
.
11. Если есть сомнение в адекватности клиента, его платежеспособности и т.п. - лучше отказаться от заказа/проекта сразу. Во многих таких случаях не спасет даже предоплата - вытнут все жилы и заставят белить потолки.
.
12. Чувствуешь, что работа/заказ/проект "не идёт" - следуй правилу: если рабботу долго не делать - она или отпадет сама собой или ее сделает тот, кому она нужнее.
.
13. пункт 12, как правило, является следствием невыполнения пункта 11...
Legavaz; int18h; Altez; biv75; +4 Ответить
11. Altez 256 06.06.09 10:31 Сейчас в теме
Иногда (ночь с субботы на воскресенье) полезно посвятить ночь очередному долгострою (звонки "утопающих" не отвлекают)
13. Tatitutu 3855 06.06.09 10:50 Сейчас в теме
(11)(ночь с субботы на воскресенье) полезно посвятить ЛЮБИМОМУ ЧЕЛОВЕКУ - намного большим вернется
14. lihomanov 83 06.06.09 16:46 Сейчас в теме
Крутые Правила, помогает жизненно !!!!
15. WKBAPKA 214 06.06.09 19:43 Сейчас в теме
не буду плюсовать автору, т.к. эти истины выучил наизусть исходя из собственного опыта, но аффтар прав, и в этом его поддержу
17. ValentinV 07.06.09 21:15 Сейчас в теме
Еще добавьте в свой арсенал.

11. Узелок.

Вам точно поможет.:);)
18. Abadonna 3958 08.06.09 08:28 Сейчас в теме
Статью надо переместить в Life, на методические материалы не тянет
19. vde69 925 08.06.09 09:26 Сейчас в теме
первые 4 пункта читал многократно для различных профессий, пункт 8 говорит о том, что автор скорее не работал на "постоянке", пункт про "сроки" тоже говорит за это.

Но не смотря на этом в целом почти все верно. Я-бы добавил 2 пункта (знаю что меня сейчас забрасают помидорами):

11. Никогда не встраивать конкретного человека в систему (в том числе и себя), система должна работать ичходя из "штатки" а не личностей

12. всегда обеспечивай себя свежей туалетной бумагой, необходимо все задания получать в виде документов или хотя-бы электронных заявок, пусть она будет из 10 слов, но она должна быть.
20. Ish_2 1104 08.06.09 09:38 Сейчас в теме
(19) К положению :

"11. Никогда не встраивать конкретного человека в систему (в том числе и себя), система должна работать ичходя из "штатки" а не личностей"

В разное время относился по разному : как к очень умному и как к очень глупому.
Из-за спорности, думаю , добавлять его 11 правилом не стоит.
21. lihomanov 83 08.06.09 09:46 Сейчас в теме
Могу сказать следующее:
1. нельзя установить конкретные сроки, даже самый крутой программер не может сказать конкретные время или дату сдачи объекта, так как в любой задачи есть подводные камни!!!
22. Креатив 66 08.06.09 09:47 Сейчас в теме
По пункту 7. Отдыхать всё-таки рекомендуется каждый час.
23. biv75 08.06.09 09:52 Сейчас в теме
(22) иногда бывает так прёт что не можешь оторваться, а иногда руки не подымаются, тут ещё и вдохновение нужно учитывать ))
а вообще да, надо отдыхать, кофейку попить.. чайку
24. ДимокШ 7 08.06.09 10:07 Сейчас в теме
Отдыхать обязательно, и обязательно НЕ за компом, те кто крурят делают это "подсознательно"... на инстинктах так сказать :))
25. smirnov.a 621 08.06.09 12:37 Сейчас в теме
11. После постановки ТЗ получить 100% предоплату (аванс)
Vladimir_D; DRY; +2 Ответить
26. DRY 08.06.09 15:19 Сейчас в теме
Все грамотно! Следую этим правилам всегда, но не подозревая о онных)) Спасибо, разложил все по полочкам!
27. Abadonna 3958 08.06.09 15:45 Сейчас в теме
>Правила, которые облегчают жизнь программисту
Надо было добавить: для фрилансеров и халтурщиков (в хорошем смысле этого слова). Для фикси - не актуально
28. lihomanov 83 08.06.09 19:52 Сейчас в теме
Я считаю эти правила подадут любому!!!, даже бухгалтеру и т.д., кто расписывает свои работы тот всегда на коне!
29. wirg 11.06.09 13:37 Сейчас в теме
Конечно актуально, но мы все такие ленивые, что выполняется всего 2-3 пункта.
Оставьте свое сообщение