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

Категория: Технологии
Нажмите для полного просмотра!
Стиль программирования  Андрей Свердлов, слайд №1Стиль программирования  Андрей Свердлов, слайд №2Стиль программирования  Андрей Свердлов, слайд №3Стиль программирования  Андрей Свердлов, слайд №4Стиль программирования  Андрей Свердлов, слайд №5Стиль программирования  Андрей Свердлов, слайд №6Стиль программирования  Андрей Свердлов, слайд №7Стиль программирования  Андрей Свердлов, слайд №8Стиль программирования  Андрей Свердлов, слайд №9Стиль программирования  Андрей Свердлов, слайд №10Стиль программирования  Андрей Свердлов, слайд №11Стиль программирования  Андрей Свердлов, слайд №12Стиль программирования  Андрей Свердлов, слайд №13Стиль программирования  Андрей Свердлов, слайд №14Стиль программирования  Андрей Свердлов, слайд №15Стиль программирования  Андрей Свердлов, слайд №16

Вы можете ознакомиться и скачать Стиль программирования Андрей Свердлов. Презентация содержит 16 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





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

Слайд 2





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

Слайд 3





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

Слайд 4





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

Слайд 5





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

Слайд 6





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

Слайд 7





Именование переменных:
Нотация роботов (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;
Описание слайда:
Именование переменных: Нотация роботов (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;

Слайд 8





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

Слайд 9





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

Слайд 10





Комментарии:
«профит-стиль» (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
Описание слайда:
Комментарии: «профит-стиль» (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

Слайд 11





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

Слайд 12





Код:
нотация роботов (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);
Описание слайда:
Код: нотация роботов (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);

Слайд 13





Код:
«профит-стиль» (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);
	}
Описание слайда:
Код: «профит-стиль» (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); }

Слайд 14





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

Слайд 15





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

Слайд 16





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



Похожие презентации
Mypresentation.ru
Загрузить презентацию