Team programming
|
|
- Roksana Kocheva
- преди 5 години
- Прегледи:
Препис
1 Стефан Чеканов PlovDev 18 октомври 2014 Пловдив
2 Обича да прави софтуер Прави го от много отдавна Програмира на C/C++, Java, PHP, C#, JavaScript, SQL, HTML, CSS, shell, assembly, Word, Excel и каквото още дойде Правил е много неща, включително Java Virtual Machine (JVM), алгоритми за компресия Основното му занимание в момента е Запален по
3
4
5
6 Единак Сам се справя с всяка ситуация Приема овации и поздравления Център на внимание Саможив, със собственно мнение Странен за околните Понякога труден за общуване Самотен
7 Единак Сам се справя с всяка ситуация Приема овации и поздравления Център на внимание Саможив, със собственно мнение Странен за околните Понякога труден за общуване Самотен
8
9
10 Супер програмиста се нуждае от екип
11
12 Какво да направя за да подпомогна екипа? Отговорът на този въпрос ще ме направи Супер-Програмист
13 Перифразирам една много мъдра мисъл.
14 Нов програмист може да пусне програмата на неговия компютър за 5 минути Можеш ли да погледнеш на произволно място в кода и да разбереш целта му? Можеш ли да намериш къде в кода е реализирана определена функционалност (feature) за по-малко от 10 минути? Можеш ли да обясниш кода на младши програмист така, че да го разбере? Можеш ли да re-factor-ираш кода, без да се страхуваш, че ще го счупиш?
15 Можеш ли да тестваш компонент, без да тестваш тези от които той зависи? Ако някоя библиотека или технология стане излишна или остарее, можеш ли да я замениш лесно? Можеш ли да вземеш модули и да ги използваш в други проекти без да ги модифицираш? Можеш ли да си сигурен, че всеки ред от кода наистина се използва? Ако кода стане open-source, ще се гордееш ли, че си свързан с него?
16 Можеш ли да тестваш компонент, без да тестваш тези от които той зависи? Ако някоя библиотека или технология стане излишна или остарее, можеш ли да я замениш лесно? Можеш ли да вземеш модули и да ги използваш в други проекти без да ги модифицираш? Можеш ли да си сигурен, че всеки ред от кода наистина се използва? Ако кода стане open-source, ще се гордееш ли, че си свързан с него?
17
18
19 Това са правила, които препоръчват определен стил на програмиране
20 Това са правила, които препоръчват определен стил на програмиране За кого е предназанчена? А. За програмистите Б. За компилатора
21 Правилата обикновено определят: Организацията на файловете Подравняване Коментари Декларации Празно пространство Правила за именуване Програмни практики и принципи
22 Добрите страни Добрите страни When a project tries to adhere to common standards a few good things happen: program source codes look like they are written by one person. This improves team productivity. programmers can go into any code and figure out what's going on new people can get up to speed quickly people new to programming are spared the need to develop a personal style and defend it to the death people new to programming are spared making the same mistakes over and over again people make fewer mistakes in consistent environments programmers have a common enemy :-)
23
24 Аргументи Против Някои аргументи ПРОТИВ the standard is usually stupid because it was made by someone who doesn't understand modern languages/practices the standard is usually stupid because it's not what I do standards reduce creativity standards are unnecessary as long as people are consistent standards enforce too much structure people ignore standards anyway
25 Стандартите достатъчни ли са за успех? Разбира се че, не. Но помагат, а ние се нуждаем от всяка възможна помощ. Бъдете честни, повечето аргументи срещу някой стандарт идват от егото. Някои от решенията в добър стандард могат да бъдат определени, че не са техничестки издържани, но това е просто въпрос на вкус. Така че, бъди гъвкав, контролирай егото си, и помни - в основата си всеки проект е усилие на екип.
26
27 Правила за именуване 1. Именуване на класове LoaderManager 2. Именуване на методи/функции loadpreferences() 3. Именуване на променливи Local variables index Class members m_counter Static class members s_globalcounter
28
29
30
31 Това пък какво е?
32 Аз да не съм писател? Всичко е ясно като слънце!
33 За кого са предназанчени? А. За програмистите Б. За компилатора
34 Keep everything readable Понякога като програмисти забравяме, че пишем коментарите за да се четат от хора. Езиците за програмиране се разбират от машините, така че може да е досадно да ги преобразуваме в обикновен човешки текст. Не трябва да пишем научен труд. Достатъчно е да оставим някои подсказки, насоки, които да са в помощ на четящия.
35 Keep everything readable Кой пък ще чете кода? И защо да го улеснявам?
36 Четящия си ти! Keep everything readable
37 Само след няколко седмици, ще си забравил имената на класовете, функциите, кое какво прави. Keep everything readable
38 Keep everything readable Задай си въпроса: Кое е най-важното? Какво е необходимо да ме подсети, ако нищо не знам за кода, за да мога да го разбера?
39 Keep everything readable
40 Оставяй празно пространство
41 Коментирайте докато пишете кода
42 Борба с досадни бъгове
43 Избягвайте очевидни коментари
44 Избягвайте очевидни коментари. Ако все пак трябва да се сложи коментар на това място, напишете го малко по-обобщено
45 Групиране на кода
46
47 Аргументът на аматьора: Аз да не съм бета тестер, че да си тествам кода?
48
49 SVN, Git
50 Кога да качвам промени в repository? Какви бележки да слагам на промените Branches, Tags?
51 Или психология на работата в екип
52 Не бъди егоист споделяй опит и знания Бъди отговорен разликата между аматьора и професионалиста Приемай критика Бъди етичен постоянно се усъвършенствай. Това не е отговорност на твоя работодател.
53 Оценка на времето estimate vs commitment Общувай (communicate) Сътрудничество (collaborate) с колеги, шефа, клиентите
54 или За какво е всичко това?
55
56 Четим код, спазващ ясна и добре дефинирана код конвенция Добре коментиран код Тест, тест и пак тест Правилна работа със Source Control Работна етика
57 Стефан Чеканов PlovDev 18 октомври 2014 Пловдив
ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА
СРЕДИ ЗА ПРОГРАМИРАНЕ ПРОГРАМНО ОСИГУРЯВАНЕ НА КОМПЮТЪРА Същност на програмното осигуряване За да могат компютрите да разбират описаните на езика за програмиране алгоритми, те трябва да бъдат преведени
ПодробноMicrosoft Word - E1-11-bg.doc
Основна цел Педагогически указания E: Оценяване на съобщение E1 / 11 Степен на трудност 1 Междинна цел 1: Дайте значение на вашето съобщение Оперативна цел Предварителни умения Брой на предложените упражнения
ПодробноПрограмиране на Паскал
Поради връзката на С++ с езика С в голяма част от литературата е прието записването С/С++. Това е найизползваният език за програмиране в света, поради което синтаксисът на някои от по-новите езици като
ПодробноГодишното тематично разпределение по Компютърно моделиране за 4. клас N седмица Тема очаквани резултати Методи бележки и коментари Първи учебен срок Т
Годишното тематично разпределение по Компютърно моделиране за 4. клас N седмица Тема очаквани резултати Методи бележки и коментари Първи учебен срок Тема 1. Информация 1 1 Видове информация Познава начините
ПодробноEditable Intel® Education powerpoint template
Костенуркова геометрия чрез блоково програмиране Красимира Иванова и Евгения Сендова 27 февруари 2018, 12:30 14:00 https://nrn.adobeconnect.com/lt_imi Scientix has received funding from the European Union
ПодробноВиртуални функции
Виртуални функции Статично свързване Как компилаторът избира кой метод или коя функция да бъде извикана? Прави се сравнение между формални и фактически параметри и се избира най-точното съвпадение в случай,
ПодробноLush Green
Класове Какво са класовете? Основен инструмент на ООП Средство за дефиниране на абстрактни типове данни Синтактична конструкция, която позволява логическо групиране на данни и операциите над тях Дефиниция
ПодробноСериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23
Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 f «data; f» data; Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 2 / 23 Първо изискване:
ПодробноPowerPoint Presentation
Перфектната Контент Маркетинг стратегия бялата презентация Копирайтър, колумнист и блогър с повече от 15 години практика. Архимаг и жрец на словореда, пророк на Свети Гутенберг. Искрено вярва, че правилно
ПодробноPowerPoint Presentation
Събития, организирани в рамките на Scientix, през 2018 в България Евгения Сендова Институт по математика и информатика при Българска академия на науките National Seminar in Education with Scientix workshop:
ПодробноNOVETHERM ВХОДНИ ВРАТИ
ВХОДНИ ВРАТИ TОВА, КОЕТО НИ ОТЛИЧАВА? WHAT DISTINGUISHES US? Детайлите са нещо, на което ние винаги обръщаме внимание! Алуминиеви входни врати за дома с най-високо качество, произведени специално за Вас.
ПодробноДефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София
Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.1 9 март 2005 г. template< class
ПодробноЕКСПЛОДИРАЩИ ТОЧКИ ГЛАВА 1 МАШИНИ Добре дошли на борда на нашето приключение. Това е математическо приключение базирано върху една моя история (аз съм
ЕКСПЛОДИРАЩИ ТОЧКИ ГЛАВА 1 МАШИНИ Добре дошли на борда на нашето приключение. Това е математическо приключение базирано върху една моя история (аз съм Джеймс), която не е истинска. Когато бях дете, аз
Подробно036-B.dvi
МАТЕМАТИКА И МАТЕМАТИЧЕСКО ОБРАЗОВАНИЕ, 2004 MATHEMATICS AND EDUCATION IN MATHEMATICS, 2004 Proceedings of the Thirty Third Spring Conference of the Union of Bulgarian Mathematicians Borovets, April 1
ПодробноМИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА
МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА У Ч Е Б Н А П Р О Г Р А М А ЗА ЗАДЪЛЖИТЕЛНА ПРОФЕСИОНАЛНА ПОДГОТОВКА ПО ПРОГРАМИРАНЕ И АЛГОРИТМИЧНИ ЕЗИЦИ ЗА ПРОФЕСИЯ: КОД 482010 ИКОНОМИСТ - ИНФОРМАТИК СПЕЦИАЛНОСТ:
ПодробноСтруктура на програма в C - Част 2 - типове, функции
Структура на програма в C Част 2 - типове, функции Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София 10 март 2019 г. И. Георгиев, Х.
ПодробноСДРУЖЕНИЕ
УЧЕБЕН ПЛАН ЗА ПРИДОБИВАНЕ НА КВАЛИФИКАЦИЯ ПО ПРОФЕСИЯ ФРИЗЬОР СПЕЦИАЛНОСТ ФРИЗЬОРСТВО (обучение по рамкова програма Б ) Наименование и код на професионалното направление Наименование и код на професията
ПодробноПортфолио
Веселка Нешовска Учител по математика и информационни технологии В СУ Христо Смирненски гр. Койнаре Лична информация Философия на преподаване Методи на преподаване Обратна връзка Умения и компетенции Работа
ПодробноСтруктура на програма в C - Част 9 - низове от символи, C-string
Структура на програма в C Част 9 - низове от символи, C-string Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София 15 май 2019 г. И. Георгиев,
ПодробноMicrosoft Word - UP-FFOE_ECTS_Bg.doc
Учебен план съгласно MEEN No М магистри ЕЕN Eлектроинженерство No реден номер на дисциплината Лекции (Л), семинарни упражнения (СУ), лабораторни упражнения (ЛУ) седмично; изпит (И), текуща оценка (ТО);
ПодробноBlack and White
Advanced C++ Memory Management Йордан Димитър Зайков Трендафилов Memory Management Effective C++ 2 nd ed: 3, 5, 7, 8, 9, 10 More Effective C++: 1, 3, 8 Exceptional C++: 35, 36 Какво всъщност прави new?
ПодробноHIV_leaflet_10x21
ЗНАМ ЛИ ВСИЧКО ЗА ХИВ? ХИВ се предава при гей мъжете чрез: Анален секс без презерватив. Анален секс без презерватив и без да се приема PrEP (предекспозиционна профилактика). PrEP не се осигурява безплатно
ПодробноMicrosoft Word - MEIT_Burova-BD.doc
Утвърдил:.. Декан Дата... СОФИЙСКИ УНИВЕРСИТЕТ СВ. КЛИМЕНТ ОХРИДСКИ Факултет: Физически... Специалност: (код и наименование)... Магистърска програма: Микроелектроника и информационни технологии Дисциплина:
ПодробноДинамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр
Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Трифон Трифонов (УП 16/17) Динамична памет 21 декември
ПодробноУЧЕБНА ПРОГРАМА ПО ВИЗУАЛНО ПРОГРАМИРАНЕ ЗА III КЛАС (ВЪВЕЖДАНЕ НА ДИСЦИПЛИНАТА ПО ПРОЕКТ ИНОВАТИВНО УЧИЛИЩЕ ) КРАТКО ПРЕДСТАВЯНЕ НА УЧЕБНАТА ПРОГРАМА
УЧЕБНА ПРОГРАМА ПО ВИЗУАЛНО ПРОГРАМИРАНЕ ЗА III КЛАС (ВЪВЕЖДАНЕ НА ДИСЦИПЛИНАТА ПО ПРОЕКТ ИНОВАТИВНО УЧИЛИЩЕ ) КРАТКО ПРЕДСТАВЯНЕ НА УЧЕБНАТА ПРОГРАМА Обучението по Визуално Програмиране в начален етап
ПодробноСистеми за управление на версии - Работа с git
Системи за управление на версии Работа с git Иван Георгиев, Христо Иванов, Христо Стефанов Tехнологическо училище "Електронни системи", Технически университет, София 28 февруари 2019 г. И. Георгиев, Х.
Подробно2. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнениет
2. Лексически анализ. Основни понятия и алгоритъм на лексическия анализ. Програмна структура на лексическия анализатор Цел на упражнението Упражнението представя кратко въведение в теорията на лексическия
ПодробноСинтаксис за дефиниране на функции Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 6 януари 2016 г. Трифон Трифонов (ФП-И 15/
Синтаксис за дефиниране на функции Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 6 януари 2016 г. Трифон Трифонов (ФП-И 15/16) Синтаксис за дефиниране на функции 6 януари 2016
ПодробноИнструкция за инсталация на EXTRADE BOUTIQUE Ако на Вашия компютър е инсталирана по-ранна Windows 7 или по-ранна версия, моля пропуснете стъпка Предва
Инструкция за инсталация на EXTRADE BOUTIQUE Ако на Вашия компютър е инсталирана по-ранна Windows 7 или по-ранна версия, моля пропуснете стъпка Предварителни условия и преминете към стъпка Инсталиране.
ПодробноАнализ и оптимизация на софтуерни приложения
Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Производителност 2. Оптимизация 3. Методи за оптимизация 2/18 Защо производителността е важна? Дава възможност
ПодробноМИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА
МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА 1. У Ч Е Б Н А П Р О Г Р А М А за задължителна професионална подготовка УТВЪРДЕНА СЪС ЗАПОВЕД РД 09-835/20.06.2005 г. 1. Учебен предмет: ПРИЛОЖНИ ПРОГРАМНИ ПРОДУКТИ
ПодробноТрансформация на негативните емоции
www.diyo-coach.com 1 4 Съвета Как Да Получиш Максималното От Този Уебинар 1. Разпечатай работната тетрадка преди да се видим, така би могъл да си отбележиш ключовите моменти и да направиш упражненията,
ПодробноMicrosoft Word - Pascard_information_2019.docx
Информация и предназначение на PASCard Информационно-пропускната система PASCard има за цел контрол на достъпа и работното време в дадено предприятие или организация. Самата система осигурява: Идентификация,
Подробно