Программа как формализованное описание процесса обработки данных. Программное средство.
Культура програмування.
Целью программирования является описание процессов обработки данных (в дальнейшем - просто процессов). Согласно Международной федерации по обработке информации (ИФИП): данные (data) - это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в некоем процессе, а информация (information) - это смысл, который придается данным при их представлении. Обработка данных (data processing) - это выполнение систематической последовательности действий с данными. Данные представляются и хранятся на т.н. носителях данных. Совокупность носителей данных, используемых при какой-либо обработке данных, будем называть информационной средой (data medium). Набор данных, содержащихся в какой-либо момент в информационной среде, будем называть состоянием этой информационной среды. Процесс можно определить как последовательность сменяющих друг друга состояний некоторой информационной среды.
Описать процесс - это значит определить последовательность состояний заданной информационной среды. Если мы хотим, чтобы по заданному описанию требуемый процесс порождался автоматически на каком-либо компьютере, необходимо, чтобы это описание было формализованным. Такое описание называется программой. С другой стороны, программа должна быть понятной и человеку, так как и при разработке программ, и при их использовании часто приходится выяснять, какой именно процесс она порождает. Поэтому программа составляется на удобном для человека формализованном языке программирования, с которого она автоматически переводится на язык соответствующего компьютера с помощью другой программы, называемой транслятором. Человеку (программисту), прежде чем составить программу на удобном для него языке программирования, приходится проделывать большую подготовительную работу по уточнению постановки задачи, выбору метода ее решения, выяснению специфики применения требуемой программы, прояснению общей организации разрабатываемой программы и многое другое. Использование этой информации может существенно упростить задачу понимания программы человеком, поэтому весьма полезно ее как-то фиксировать в виде отдельных документов (часто не формализованных, рассчитанных только для восприятия человеком).
Обычно программы разрабатываются в расчете на то, чтобы ими могли пользоваться люди, не участвующие в их разработке (их называют пользователями). Для освоения программы пользователем помимо ее текста требуется определенная дополнительная документация. Программа или логически связанная совокупность программ на носителях данных, снабженная программной документацией, называется программным средством (ПС). Программа позволяет осуществлять некоторую автоматическую обработку данных на компьютере. Программная документация позволяет понять, какие функции выполняет та или иная программа ПС, как подготовить исходные данные и запустить требуемую программу в процесс ее выполнения, а также: что означают получаемые результаты (или каков эффект выполнения этой программы). Кроме того, программная документация помогает разобраться в самой программе, что необходимо, например, при ее модификации.
Когда нужны собственные пространства имен
Описания всех типов и классов .NET находятся в пространствах имен.
Пространства имен — прекрасный способ распределить типы и классы по категориям, исключив конфликты имен. Microsoft размещает все типы и классы .NET в специальных пространствах имен, стремясь защитить их от конфликтов с другими именами. Нужны ли собственные пространства имен? Это зависит от ответа на вопрос: будут ли создаваемые вами типы и классы использоваться в среде, которой вы не управляете? Иначе говоря, если ваш код крутится внутри ограниченного круга разработчиков, можно обойтись своими правилами создания имен, не допуская появления конфликтов. Но если ваши классы предназначены для применения вне вашей организации и контролировать ситуацию с именами вы не сможете, без собственных пространств имен не обойтись. Кроме того, поскольку Microsoft рекомендует указывать имя вашей компании в качестве пространства имен верхнего уровня, я советовал бы (бесплатно!) всегда создавать пространства имен в случаях, когда с вашим кодом может столкнуться другой разработчик.
Рекомендации по изобретению имен
По статистике наибольшие затраты, связанные с разработкой приложений, приходятся на его сопровождение. Прежде чем мы продолжим, мне хотелось бы рассказать о соглашениях по составлению имен, поскольку от простоты и понятности такого соглашения может зависеть читабельность и, следовательно, удобство сопровождения кода.
Многие из нас знают, что соглашения об именах — болезненная тема. Этот вопрос решался проще, пока не появились Visual C++ и MFC.
Однако сейчас другое время, и в лице С# мы имеем новый язык и новые задачи. В этой среде мы не видим кода Microsoft. Более того появляется некий новый стандарт. Возможно, он будет отличаться от того, что я представляю здесь, но это хотя бы даст вам точку опоры.
Стандарты соглашения по назначению имен
Прежде чем обсуждать вопросы, связанные с конструированием имен для различных элементов вашего приложения, вспомним стандарты, имеющиеся к настоящему времени.