'

Стиль программирования

Понравилась презентация – покажи это...





Слайд 0

Стиль программирования Андрей Свердлов


Слайд 1

Введение Или как мы учились писать код вместе


Слайд 2

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


Слайд 3

Зачем нужен СП унификация и упрощение кода: ускорение разработки (до 30% экономии времени) за счет одинакового понимая кода всеми разработчиками; облегчение поиска ошибок; упрощение рефакторинга; облегчение сопровождения кода; обеспечение минимального уровня качества кода (структурированность, читаемость, документированность).


Слайд 4

Какой СП – хороший стиль – это стандарт! прозрачный; защищенный; легкий; разборчивый; однозначный.


Слайд 5

Именование переменных: Венгерская нотация (C++): int iCounter; LPTSTR lpszBuffer; class CMyCPPClass; struct TMyCPPStruct; Венгерская нотация (C#): private int iCounter; public long lSomethingVeryLong public List<MyClass> aoMyList; class CMyCSClass;


Слайд 6

Именование переменных: Нотация роботов (C#): private int _counter; public MyListener Listener; public string MyPort8080ListenerName {get;}; public class LogicalRole; public class MyUserControl; «Профит-стиль» (C#): int m_Counter; public string ServerName {get;}; public UIElement MainConceptBox; public class XMyClass; public class ConceptView :UIElement;


Слайд 7

Комментарии В достаточном количестве Информативные Для четкого круга читателей (не для вообще всех)


Слайд 8

Комментарии: нотация роботов (C#) private double _dist = 0;// расстояние до препятствия в метрах /// <summary> /// Функция изменят логическую роль робота с преследователя на убегающего и наоборот /// </summary> /// <param name="serviceRequest">вызывается ли функция после запроса к сервису</param> public void ChangeRole (bool serviceRequest) /// <summary> /// Класс логической роли робота. /// Содержит все атрибуты робота. /// </summary> public class LogicalRole


Слайд 9

Комментарии: «профит-стиль» (C#) private bool m_ShiftPressed; public void SetGradient (LinearGradientBrush a_BackgroundBrush) /// <summary> /// Проверка попадания точки внутрь контрола. /// </summary> /// <param name="hit">Координаты в системе экрана</param> /// <returns>попадание точки внутрь контрола</returns> public bool HitTest (Point a_Hit) public partial class XWikipediaWindow


Слайд 10

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


Слайд 11

Код: нотация роботов (C#) public class DifficultExPioneer3DX { #region Private fields private LogicalRole _role; // логическая роль робота … #endregion private void GoCatcher () { // поиск убегающего робота SearchLRF (out _dist, out _azimuth); while (true) { // если дистанция достаточно мала if (_dist <= 0.5) { // сменить роль и стать убегающим ChangeRole (); // больше ничего return; } // курс точно на убегающего Turn (_azimuth);


Слайд 12

Код: «профит-стиль» (C#) public class XConcept : IEquatable<XConcept> { XPosition m_Position; public XPosition Position { get { return m_Position; } set { m_Position = value; } } XContent m_Content = null; public XContent Content { get { return m_Content; } } public void Save() { m_Position.Save(m_Row); m_Content.Save(m_Row); DBTableAdapters.ConceptsTableAdapter adapter = new Mapedia.Core.DBTableAdapters.ConceptsTableAdapter(); adapter.Update(m_Row); }


Слайд 13

Как внедрить свой СП поощрение (прямое предписание) использования некоторых базовых концепций программирования; запрещение (ограничение) использования некоторых других базовых концепций; иногда оно может быть неявным – через исключение нежелательных концепций из используемого языка или диалекта; требования и рекомендации по оформлению и документированию программ; совокупность инструментальных и организационных средств, поддерживающих вышеперечисленные требования и рекомендации.


Слайд 14

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


Слайд 15

Спасибо! Ваши вопросы? Андрей Свердлов


×

HTML:





Ссылка: