Слайды с одноименного доклада на IT Global Meetup 2015, прошедшего в Санкт-Петербурге 6 июля.
Тезисы:
* Контроль за качеством кода - это необходимая процедура при работе нескольких человек в одной команде над продуктом из более чем сотни строк. Зачем это нужно? Каждый пишет код по-своему, ожидает понимания от остальных участников команды, но в жизни этого не происходит.
* Недостатки разнобоя в стиле написанного кода: увеличивается время ревью, усложняется внесение правок кем-либо кроме автора кода, увеличивается вероятность пропустить глазами ошибку.
* Основные шаги к решению этой проблемы: создание единого свода правил по оформлению кода (style guide), согласование процедуры разрешения конфликтных ситуаций относительно разночтений этих правил, устранение человеческого фактора в процессе оценки через автоматизацию.
* Что из экосистемы Питона может помочь? При составлении style guide можно взять за основу PEP8 и PEP257, дополнив их принятыми в команде конвенциями (какие кавычки использовать для строк и докстрингов, и т.д. и т.п.). Автоматизировать проверки можно как с помощью уже готовых утилит (pep8, flake8, pylint), так и написав свои с помощью встроенного в язык инструментария (модули ast, tokenizer, сторонние библиотеки для работы с кодом).
* Где производить проверки? Есть несколько возможных этапов:
- IDE разработчика
- Локальная VCS (working copy)
- Общая VCS
- Сервер Continous Integration.
В идеале проверки должны быть на каждом этапе, но при этом как можно меньше затруднять обычный рабочий процесс. Здесь стоит задуматься, какая комбинация из этих этапов лучше всего впишется в стиль разработчки команды.
* Если же нет достаточных ресурсов или проект находится
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Andrey Karpov
Этот документ рекламирует статический анализатор PVS-Studio. Описывается, как использование PVS-Studio уменьшит количество ошибок в коде проекта на языке C/C++/C++11 и сократит затраты на тестирование, отладку и сопровождение кода. Приводится большое количество примеров ошибок, найденных анализатором в различных Open-Source проектах. Документ описывает PVS-Studio на момент версии 4.38 от 12 октября 2011 и, как следствие, не отражает возможности следующих версий. Чтобы познакомиться с новыми возможностями, предлагаем посетить сайт продукта <a>http://www.viva64.com</a> или поискать обновленный вариант этой статьи.
Слайды с одноименного доклада на IT Global Meetup 2015, прошедшего в Санкт-Петербурге 6 июля.
Тезисы:
* Контроль за качеством кода - это необходимая процедура при работе нескольких человек в одной команде над продуктом из более чем сотни строк. Зачем это нужно? Каждый пишет код по-своему, ожидает понимания от остальных участников команды, но в жизни этого не происходит.
* Недостатки разнобоя в стиле написанного кода: увеличивается время ревью, усложняется внесение правок кем-либо кроме автора кода, увеличивается вероятность пропустить глазами ошибку.
* Основные шаги к решению этой проблемы: создание единого свода правил по оформлению кода (style guide), согласование процедуры разрешения конфликтных ситуаций относительно разночтений этих правил, устранение человеческого фактора в процессе оценки через автоматизацию.
* Что из экосистемы Питона может помочь? При составлении style guide можно взять за основу PEP8 и PEP257, дополнив их принятыми в команде конвенциями (какие кавычки использовать для строк и докстрингов, и т.д. и т.п.). Автоматизировать проверки можно как с помощью уже готовых утилит (pep8, flake8, pylint), так и написав свои с помощью встроенного в язык инструментария (модули ast, tokenizer, сторонние библиотеки для работы с кодом).
* Где производить проверки? Есть несколько возможных этапов:
- IDE разработчика
- Локальная VCS (working copy)
- Общая VCS
- Сервер Continous Integration.
В идеале проверки должны быть на каждом этапе, но при этом как можно меньше затруднять обычный рабочий процесс. Здесь стоит задуматься, какая комбинация из этих этапов лучше всего впишется в стиль разработчки команды.
* Если же нет достаточных ресурсов или проект находится
Реклама PVS-Studio - статический анализ кода на языке Си и Си++Andrey Karpov
Этот документ рекламирует статический анализатор PVS-Studio. Описывается, как использование PVS-Studio уменьшит количество ошибок в коде проекта на языке C/C++/C++11 и сократит затраты на тестирование, отладку и сопровождение кода. Приводится большое количество примеров ошибок, найденных анализатором в различных Open-Source проектах. Документ описывает PVS-Studio на момент версии 4.38 от 12 октября 2011 и, как следствие, не отражает возможности следующих версий. Чтобы познакомиться с новыми возможностями, предлагаем посетить сайт продукта <a>http://www.viva64.com</a> или поискать обновленный вариант этой статьи.
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
Опросный лист оценки знаний по соревновательной робототехнике, содержащий матрицу компетенций, которыми рекомендуется овладеть потенциальным участникам робототехнических состязаний уровня World Robot Olympiad.
Видеозапись доклада:
http://getdev.net/Event/winrt
Windows Runtime призван упростить разработку metro-приложений для Windows 8 на разных языках. О том, как его использовать и какие особенности следует учитывать, можно узнать в этом докладе.
Александр Фенстер (Parallels) рассказывает о работе в технической поддержке и о разработке внутренних продуктов, 01.04.2013
Видеозапись: http://www.youtube.com/watch?v=oHOZMFO0cCY
Software Industry 101 — это серия обзорных лекций для студентов Новосибирского государственного университета о профессиях в IT и о реалиях коммерческой разработки софта.
Более подробную информацию, материалы лекций и раписание занятий можно посмотреть на http://bit.ly/industry101
Содержание:
1. Вспомним материал прошлого урока.
2. Ада Лавлейс (1815-1852) – первый программист.
3. Языки программирования.
4. Классификация языков программирования.
5. Транслятор.
6. Примеры языков программирования.
7. Объектно-ориентированное программирование.
8. 10 языков программирование, которые стоит изучать.
9. Среда программирования.
10. Cреда разработки Turbo Delphi - основные команды.
11. Запустите Turbo Delphiсоздайте Console Application.
12. Введите текст программы между begin и end; нажмите Run.
13. Как написать программу “Hello, world!”
14. Домашнее задание.
Видеозапись встречи:
http://getdev.net/Event/typescript
TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
Автоматизированный подход к локализации корпоративных приложенийSoftengi
Доклад Глеба Криштова, члена команды LocServ в Softengi, на конференции для специалистов по локализации ПО Loc Kit 2014.
Доклад ответит на вопрос - как локализовать приложение-"монстр" с миллионами строк кода за рекордный срок в 6 месяцев, сократив при этом расходы на локализацию в более чем три раза?
Глеб в докладе раскрывает секреты создания командой LocServ собственного решения Localization Studio, с какими трудностями столкнулась команда до и во время создания решения и какие проблемы можно решить с помощью LocStudio.
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
Основы объектно-ориентированного программирования на языке C#. Часть 1. Введение в программирование.
Рассматривается базовые понятие алгоритмов, блок-схем, объектно-ориентированного программирования на базе платформы .NET Framework.
Статья знакомит разработчиков с библиотекой VivaCore, предпосылками ее создания, возможностями, структурой и областями применения. Данная статья была написана параллельно с разработкой библиотеки VivaCore, и поэтому отдельные детали ее конечной реализации могут отличаться от описанных здесь свойств. Но это не помешает разработчикам познакомиться с общими принципами работы библиотеки, механизмами анализа и обработки текстов программ на языке Си и Си++.
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
Опросный лист оценки знаний по соревновательной робототехнике, содержащий матрицу компетенций, которыми рекомендуется овладеть потенциальным участникам робототехнических состязаний уровня World Robot Olympiad.
Видеозапись доклада:
http://getdev.net/Event/winrt
Windows Runtime призван упростить разработку metro-приложений для Windows 8 на разных языках. О том, как его использовать и какие особенности следует учитывать, можно узнать в этом докладе.
Александр Фенстер (Parallels) рассказывает о работе в технической поддержке и о разработке внутренних продуктов, 01.04.2013
Видеозапись: http://www.youtube.com/watch?v=oHOZMFO0cCY
Software Industry 101 — это серия обзорных лекций для студентов Новосибирского государственного университета о профессиях в IT и о реалиях коммерческой разработки софта.
Более подробную информацию, материалы лекций и раписание занятий можно посмотреть на http://bit.ly/industry101
Содержание:
1. Вспомним материал прошлого урока.
2. Ада Лавлейс (1815-1852) – первый программист.
3. Языки программирования.
4. Классификация языков программирования.
5. Транслятор.
6. Примеры языков программирования.
7. Объектно-ориентированное программирование.
8. 10 языков программирование, которые стоит изучать.
9. Среда программирования.
10. Cреда разработки Turbo Delphi - основные команды.
11. Запустите Turbo Delphiсоздайте Console Application.
12. Введите текст программы между begin и end; нажмите Run.
13. Как написать программу “Hello, world!”
14. Домашнее задание.
Видеозапись встречи:
http://getdev.net/Event/typescript
TypeScript - язык программирования от Microsoft, который является надмножеством JavaScript. Он поддерживает статическую типизацию, модули, определение классов и интерфейсов и транслируется в чистый JS. Спецификации языка открыты, а код компилятора распространяется под лицензией Apache.
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
Summary: Presentation on open source testing frameworks (improved version, more focus on real project example) at Software Engineering Forum 2009 (SEF-1) conference by Aliaksandr Ikhelis. Sponte framework developer and owner is Stanislaw Wozniak, Expedia Limited, UK. Sponte project homepage: http://rubyforge.org/projects/sponte/; http://github.com/swozniak/sponte/tree/master
Автоматизированный подход к локализации корпоративных приложенийSoftengi
Доклад Глеба Криштова, члена команды LocServ в Softengi, на конференции для специалистов по локализации ПО Loc Kit 2014.
Доклад ответит на вопрос - как локализовать приложение-"монстр" с миллионами строк кода за рекордный срок в 6 месяцев, сократив при этом расходы на локализацию в более чем три раза?
Глеб в докладе раскрывает секреты создания командой LocServ собственного решения Localization Studio, с какими трудностями столкнулась команда до и во время создания решения и какие проблемы можно решить с помощью LocStudio.
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
Основы объектно-ориентированного программирования на языке C#. Часть 1. Введение в программирование.
Рассматривается базовые понятие алгоритмов, блок-схем, объектно-ориентированного программирования на базе платформы .NET Framework.
Статья знакомит разработчиков с библиотекой VivaCore, предпосылками ее создания, возможностями, структурой и областями применения. Данная статья была написана параллельно с разработкой библиотеки VivaCore, и поэтому отдельные детали ее конечной реализации могут отличаться от описанных здесь свойств. Но это не помешает разработчикам познакомиться с общими принципами работы библиотеки, механизмами анализа и обработки текстов программ на языке Си и Си++.
4. ПРОЕКТИРОВАНИЕ & КОДИРОВАНИЕ Проектирование Объектная модель Паттерны Кодирование Реализация проектной модели на языке программирования Использование программной среды Языково зависимые конструкции Фреймворки
5. МОНЕТИЗАЦИЯ КОДА Поддержка программы Создание новых версий программы Повторное использование Уровень функций Уровень классов Уровень библиотек Open Source (уровень фреймворков) Продажа исходников
14. УНИВЕРСАЛЬНЫЕ ФРЕЙМВОРКИ Flex Достоинства Все в одном флаконе Индустриальный стандарт Недостатки Mxml Большой вес Базовый класс (>400K текста) MinimalComps (bit-101.com)http://www.minimalcomps.com/ Достоинства Базовый класс (<7K) Высокая модульность Недостатки Отсутствие соглашений Слабая расширяемость Грустненький вид
15. Чукча - писатель Зачем необходимо уметь читать чужой код Документация & исходники Библиотеки в бинарниках или исходниках Как этому научиться Гугл код Портирование с другого языка