|
Балена Ф., Димауро Д. Современная практика программирования на Microsoft Visual Basic и Visual C#Автор: Балена Ф., Димауро Д. Жанр: Программирование Издательство: М.: ИТД "Русская Редакция" ISBN:5-7502-0275-5 Язык: Русский Формат: PDF Качество: Отсканированные страницы Количество страниц: 633 Книга содержит
описание проверенных передовых методик
программирования для платформы Microsoft
.NET на языках Microsoft Visual Basic и Visual С#. Авторы
— профессионалы с многолетним опытом
— привели более 700 рекомендаций,
охватывающих практически все аспекты
программирования для Microsoft .NET, снабдив
их полезными примерами. Оглавление: Предисловие .............----........XXV Введение..........................................................XXVII Часть 1 Передовые методы кодирования .................................. 1 Глава 1 Проекты и решения...................----....................... 3 1.1 Название решения 3 1.2 Расположение файлов решения, включающего один проект 3 1.3 Расположение файлов решения, включающего несколько проектов 3 1.4 Расположение файлов проектов ASP.NET 3 1.5 Папки проекта 5 1.6 Имена файлов исходного кода 6 1.7 Исполняемые ЕХЕ-файлы б 1.8 Исполняемые DLL-файлы б 1.9 Файлы исходного кода, используемые в нескольких проектах б 1.10 Конфигурационные файлы 7 1.11 Предупреждения компилятора [Visual Basic] 7 1.12 Предупреждения компилятора [С#] 8 1.13 Оптимизация, выполняемая компилятором 8 1.14 Отладочная информация 8 1.15 Базовые адреса DLL 8 1.16 Установка параметра Option Strict для новых проектов [Visual Basic] 9 1.17 Установка параметра Option Strict для текущего проекта [Visual Basic] 10 1.18 Директива Option Strict [Visual Basic] 10 1.19 Собственные константы уровня проекта 11 1.20 Константа компиляции VERSIONxyy 11 1.21 Константа компиляции VERSION [Visual Basic] 11 1.22 Импортирование пространства имен Microsoft.VisualBasic во все файлы проекта [Visual Basic] 12 1.23 Сборка программы с приращением [С#] 12 Глава 2 Пробелы и отступы в коде....................................... 13 2.1 Форматирование кода при помощи символов табуляции 13 2.2 Ширина отступов 14 2.3 Несколько пустых строк подряд 14 2.4 Длина строк 15 2.5 Перенос строк 15 2.6 Фигурные скобки [С#] 16 2.7 Пробелы и операторы [С#] 17 2.8 Пробелы и скобки [С#] 17 Глава 3 Комментарии..................................................18 3.1 Проверка орфографии 18 3.2 Язык комментариев 18 33 Согласованный стиль комментариев 18 34 Расположение и форматирование комментариев 19 3.5 XML-комментарии [С#] 20 3.6 XML-комментарии в отдельных файлах [С#] 21 3.7 Генерирование технической документации 24 3.8 Надстройка VBCommenter [Visual Basic] 25 3.9 Комментарии уровня классов и методов 25 З.10 Блочные комментарии [С#] 26 3.11 Заголовочные комментарии 27 З.12 Комментарии уровня блоков 28 З.1З Комментарии уровня команд 28 3.14 Комментарии в конце крупных блоков кода 29 3-15 Комментарии к перегруженным методам 30 3.16 Комментарии к коду» сгенерированному автоматически 30 3- 17 Исключение блока кода при помощи комментариев [С#] 30 З.18 Маркеры комментариев TODO и HACK 31 3.19 Собственные маркеры комментариев 31 Глава 4 Сборки и ресурсы.............................................. 33 4.1 Файл Assemblylnfo 3 3 4.2 Строгие имена 33 4.3 Размер сборки 34 4- 4 Сборки, включающие несколько модулей 34 4.5 Сборки, совместимые с CLS 35 4.6 Версии сборок 35 4.7 Ресурсы, встроенные в декларации, или отдельные файлы? 36 4.8 Ресурсы или жестко закодированные строки? 38 4-9 Имена ресурсов 40 4Л0 Сопутствующие сборки с локализованными ресурсами 40 4.11 Региональный стандарт основной сборки 43 4.12 Конфигурационные параметры 44 4.13 Регистрация сборок в GAC 44 4Л4 Утилита Ngen 45 Глава 5 Пространства имен.............................................47 5.1 Название главного пространства имен 47 5.2 Пространство имен второго уровня 47 53 Логическая организация типов в пространстве имен 47 5.4 Число типов в пространстве имен 48 5.5 Вложенные блоки пространств имен 48 5.6 Все типы — в пространствах имен 48 57 Одно пространство имен в одном исходном файле 49 5.8 Конвенции именования пространств имен в .NET Framework 49 5.9 Зависимость типов во вложенных пространствах имен 49 5.10 Вложенные пространства имен для специальных типов 49 5.11 Сокращение имен типов за счет импортирования пространств имен 50 5.12 Псевдонимы пространств имен 50 Глава 6 Типы......................................................... 52 6.1 Имена типов 52 6.2 Используйте американский вариант английского языка 52 6.3 Сокращения и акронимы 53 6.4 Слова, которых следует избегать 5 3 6.5 Один тип на файл исходного кода 54 6.6 Сложность типов 54 6.7 Зависимость от внешних переменных 5 5 6.8 Имена модулей [Visual Basic] 55 6.9 Тип или модуль Арр 56 6.10 Класс Globals 56 6.11 Имена членов интерфейсов .NET 56 6.12 Зависимость имен членов от регистра букв [С#] 56 6.13 Упорядочение и группировка членов типов 56 6.14 Типы членов, специфические для языка 57 6.15 Вложенные типы 58 6.16 Спецификаторы доступа к членам 58 6.17 Явные спецификаторы доступа 58 6.18 Затененные члены 59 6.19 Типы, отсутствующие в CLS [С#] 59 6.20 Ключевое слово Me/this 60 6.21 Член «New»[C#] 60 6.22 Атрибут Conditional 61 6.23 Атрибут Serializable 62 6.24 Атрибут Obsolete 62 Глава 7 Наследование........... 64 7.1 Иерархии классов 64 7.2 Абстрактные классы 64 7.3 Имена производных классов 64 7.4 Базовые классы или интерфейсы? 65 7.5 Обязательные возможности в базовых классах 65 7.6 Необязательные возможности в базовых классах 66 7.7 Ненаследуемые классы 67 7.8 Статические классы 67 7.9 Конструкторы абстрактных типов 69 7.10 Защищенные члены ненаследуемых классов [Visual Basic] 70 7.11 Виртуальные члены 70 7.12 Разделение объемных задач на переопределяемые методы 71 7.13 Перегруженные виртуальные методы 74 7.14 Переопределение метода ToString 75 7.15 Переопределение метода Equals 76 7.16 Переопределение метода GetHashCode 77 7.17 Постоянство метода GetHashCode 77 7.18 Метод GetHashCode и проверка равенства 79 7.19 Ключевое слово MyClass [Visual Basic] 79 7.20 Строго типизированные статические методы Equals и Compare 80 7.21 Наследование от типа MarshalByRefObject 82 Глава 8 Интерфейсы........................................ 84 8.1 Имена интерфейсов 84 8.2 Все интерфейсы в одном файле исходного кода 85 8.3 Число членов интерфейсов 85 8.4 События и интерфейсы 85 8.5 Неизменность интерфейсов 86 8.6 Имена классов, реализующих интерфейсы 86 8.7 Реализация интерфейса в блоке Xregion 86 8.8 Открытые и закрытые члены в реализации интерфейса 87 8.9 Закрытая реализация интерфейсов в типах, поддерживающих наследование 88 8.10 Интерфейс ICloneable 89 8.11 Клонирование объектов со строгим контролем типов 89 8.12 Ограниченное и полное копирование 90 8Л 3 Клонирование неизменных объектов 91 8.14 Интерфейс IComparable 92 8.15 Использование возможностей полей и свойств, реализующих интерфейс IComparable 93 8.16 Интерфейс IComparer 94 8Л 7 Типы» реализующие интерфейсы [Enumerable и [Enumerator 98 8Л8 Строго типизированные члены в реализации интерфейса 103 8Л9 Интерфейс ISeriaüzable 104 Глава 9 Структуры.......................................... 105 9.1 Значимые или ссылочные типы? 105 9.2 Структуры вместо классов с членами значимых типов 106 9-3 Размер структур 106 94 Исходное состояние членов структуры 108 9.5 Перегрузка метода Equals в значимых типах 108 9-6 Реализация интерфейсов в структурах 110 9-7 Реализация интерфейса IDisposable в структурах [С#] 111 Глава 10 Перечисления..........................----...........----..112 ЮЛ Все перечисления в одном исходном файле 112 10.2 Перечисления, вложенные в другой тип 112 10.3 Имена перечислений 112 10.4 Атрибут Flags для битовых полей 113 10.5 Базовый тип перечислений 114 10.6 Имена элементов перечислений 114 10.7 Значения элементов обычных перечислений 115 10.8 Значения элементов битовых полей 115 10.9 Значение по умолчанию в обычных перечислениях 116 10.10 Значение по умолчанию в битовых полях 116 10.11 Зарезервированные элементы перечислений 117 10.12 Проверка зна чений обычных перечислений 118 10.13 Проверка значений битовых полей 119 Глава 11 Атрибуты и отражение........................................120 11.1 Использование атрибутов 120 11.2 Применение нескольких атрибутов к одному члену [С#] 121 11.3 Имена собственных типов-атрибутов 122 11.4 Ненаследуемые собственные атрибуты 122 11.5 Конструкторы в собственных типах-атрибутах 122 11.6 Перегруженные конструкторы в собственных типах-атрибутах 123 11.7 Атрибут AttributeUsage 124 11.8 Атрибуты или интерфейсы-маркеры? 124 11.9 Проверка наличия собственного атрибута 125 11.10 Загрузка сборки для ее изучения с помощью отражения 126 11.11 Использование объекта StackTrace 127 11.12 Вызов метода при помощи отражения 127 Глава 12 Поля и переменные ...____.........____...................... 129 12.1 Имена полей и переменных 129 12.2 Имена констант 130 12.3 Венгерская нотация 130 12.4 Префиксы, часто используемые в именах переменных 130 12.5 Явное определение доступности полей 131 12.6 Несколько объявлений в одной строке 132 12.7 Постоянные значения 132 12.8 Поля, допускающие только чтение 132 12.9 Открытые нестатические поля 133 12.10 Открытые статические поля 134 12.11 Защищенные поля 134 12.12 Локальные переменные 136 12.13 Статические локальные переменные [Visual Basic] 136 12.14 Блочные переменные 137 12.15 Инициализация блочных переменных [Visual Basic] 137 12.16 Имена полей, заключенных в свойства 138 12.17 Место объявления полей, заключенных в свойства 139 12.18 Обращения к полям, заключенным в свойства 139 12.19 Инициализация полей 140 12.20 Упрощенный синтаксис создания объектов [Visual Basic] 141 12.21 Оператор DirectCast [Visual Basic] 142 12.22 Оператор присваивания внутри выражений [С#] 142 12.23 Оператор as [С#] 143 12.24 Ключевое слово With [Visual Basic] 143 12.25 Временные переменные при работе с вложенными объектами [С#] 144 12.26 Несериализуемые поля 144 12.27 Поля и свойства, имеющие тип IntPtr 144 Глава 13 Свойства................................................... 145 13.1 Имена свойств 145 13.2 Размер свойств 145 13.3 Компактный формат свойств [С#] 146 13.4 Проверка и присваивание значений полям в свойствах 147 13.5 Свойства или методы? 148 13.6 Свойства, поддерживающие только чтение 148 13.7 Свойства, поддерживающие только запись 150 13.8 Свойства» принимающие аргументы 150 13.9 Свойства по умолчанию [Visual Basic] 151 13.10 Ключевое слово value [С#] 152 13.11 Альтернативные дружественные имена индексаторов [С#] 152 13.12 Префикс Is в именах свойств, допускающих только чтение 153 (.......) |
Loading
|