Главная » Просмотр файлов » 1629295403-b876e2087bddebea4bc9666fb2377a02

1629295403-b876e2087bddebea4bc9666fb2377a02 (846199), страница 99

Файл №846199 1629295403-b876e2087bddebea4bc9666fb2377a02 (С для чайников) 99 страница1629295403-b876e2087bddebea4bc9666fb2377a02 (846199) страница 992021-08-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 99)

Начинайте имена методов с глаголов( D i s p l a y A l l S t u d e n t s ( ) ) , логические переменные или методы со словнаподобие is или has ( i s V a l i d , h a s l t e m s , c a n P a s t e ) , и делайте все име­на понятными и значащими. Не используйте слишком длинных имен. Избе­гайте применения в именах аббревиатур, в особенности нестандартных.Х о т я в этой книге и используется венгерская нотация (см. главу 3,"Объявление переменных-значений"), с у щ е с т в у ю т и другие соглаше­ния по именованию. Большинство программистов не используют венгер­скую нотацию, в которой в качестве префикса применяется указание типа(наподобие s для s t r i n g , d для d o u b l e и так далее). В предыдущемпримере использован другой стиль именования, который вы встречаетев большей части документации и примеров.Пишите короткие методы, которые проще для понимания, менее подвер­жены ошибкам и легче тестируются.

Везде, где это возможно, работа методадолжна использовать вызовы других методов. Это называется разложениемвашего кода. Если категорически не требуется иного, делайте ваши методы за­крытыми. Даже однострочный код стоит выделить в отдельный метод, если этоделает код исходного метода понятнее. Предположим, например, что у вас естьсложное составное логическое выражение, наподобиеi f ( ( y p o s == -1) & (vowelPos == - 1 ) )...Его достаточно сложно понять с первого взгляда. Можно использоватькомментарии для пояснения сути дела, но маленький метод с хорошимименем ничуть не хуже:publicboolHasNoVowels(intintindexOfLetterY,indexOfFirstVowel){return( i n d e x O f L e t t e r Y == -1) &( i n d e x O f F i r s t V o w e l == -1);}504Часть VII.

Дополнительные главы10Этот код (из небольшого переводчика на Pig Latin , который я как-то писал) сле­дует за кодом, который пытается найти первую гласную в целевом слове, если та­ковая существует. Если е е нет, i n d e x O f F i r s t V o w e l принимает значение - 1 .Однако буква у также может рассматриваться как гласная в некоторых ситуациях,так что этот метод должен принимать во внимание и ее.В методе, вызывающем Н а s N o V o w e l s ( ) , следующая строка гораздо проще дляпонимания, чем исходное логическое выражение:if ( H a s N o V o w e l s ( y p o s ,vowelPos) ){return'USE_WHOLE_WORD;}Данный пример иллюстрируетрефакторинг (реорганизацию кода).Пишите код, который открывает его предназначение.

Например, следующийметод, реализующий алгоритм преобразования английских слов на "поросячью ла­тынь" ("убрать буквы перед первой гласной, перенести их в конец слова и добавить'ау'"), автоматически рассказывает о решаемой задаче даже без комментариев:publicstringConvertToPigLatin(stringreturn GetBackPart(word)+word)GetFrontPart(word)+"ay";Код написан на высоком уровне, с использованием имен методов, которые ясноуказывают их предназначение, не детализируя, как именно они работают —с применением циклов, ветвлений и т.д.

Легко увидеть, как минимум в общем, чтоделает каждый вызов метода. Исходная версия этого метода была полна конст­рукций i f , циклов, сложных логических выражений и локальных переменных.Алгоритм "поросячьей латыни" прост, но некоторые его составные части несколь­ко запутанны — как, например, поиск первой гласной для разбивки слова. Ис­пользование описанного стиля работает сверху вниз (от общего к частному), от­кладывая детали. Как можно предположить, методы G e t B a c k P a r t () и G e t ­F r o n t P a r t () написаны одинаково, с явным указанием намерений на каждомшагу и переносом деталей в подчиненные методы.

Многие программы в этой кни­ге можно улучшить посредством этого стиля, либо используя его изначально, либоприбегая к рефакторингу.Можно снизить сложность еще больше, если создать вспомогательные клас­сы, инкапсулирующие часть работы, вместо одного или д в у х классов, тяну­щих все на себе. Всегда старайтесь инкапсулировать мелкие детали в классах илинаборах методов. В частности, посмотрите, нет ли кода, который может изменить­ся в будущем, и инкапсулируйте его в собственном классе. Моя любимая книга наэту тему — Head First Design Patterns Фриманов (Freeman) (O'Reilly, 2004).Эти и подобные методы помогут вам справиться с величайшей проблемой програм­мирования: управлением сложностью. Плотный, закрученный код трудно понимаем,а это — прямой путь к ошибкам.10"Поросячья латынь" — искажение слов английского языка по определенным правилам;в чем-то аналог знакомого с детства "языка" в стиле "э-чи-то-чи дет-чи-ский-чи я-чи-зык-чи".

—Примеч. ред.Глава 21. Использование интерфейса Visual Studio505Вряд ли вы обладаете настолько феноменальной памятью, чтобы помнить все классы иметоды даже из одного пространства имен, скажем, S y s t e m . Конечно, можно запомнитьсинтаксис С# и несколько других деталей, но все же лучше не забывать о том, как пользовать­ся справочной системой, поиск нужной информации в которой имеет несколько видов.Окно справочной системы Visual Studio называется D o c u m e n t Explorer. Зна­ние этого факта может помочь избежать определенной неразберихи.F1Помощь по клавише <F1> предоставляет быстрый доступ к информации о полях иликонструкциях в существующем коде, которые вы плохо помните или не вполне понимаете.Например предположим, что вам не понятна разница между оператором n e w и одно­именным модификатором метода.

Вы можете щелкнуть на слове n e w в любом местев окне редактирования и нажать <F1>. Visual Studio откроет окно помощи, как показанона рис. 21.10. (Если вы не понимаете разницу между терминами new, см. в главеб,"Объединение данных — классы и массивы", описание оператора new, а^ в главе 12,"Наследование", — наследования new. Или, как видно из приведенной копии экрана,имеется еще ограничение n e w () у обобщенных классов, так что можно заглянутьи в главу 15, "Обобщенное программирование".)Рис.

21.10. Справочная система Visual Studio поможет разо­браться с разными значениями ключевого слова newЕсли справка содержит несколько статей, соответствующих вашему термину, вы уви­дите маленькое плавающее окошко с перечислением доступных тем. Дважды щелкнитена нужной теме, чтобы увидеть ее.506Часть VII. Дополнительные главы-ж• •Visual Studio пытается обеспечить доступ к справочным файлам, инсталлиро­ванным на вашем компьютере, и к дополнительным ресурсам Web.

Если вы неподключены к Интернету, то можете получить сообщение о том, что справоч­ной системе не предоставляется доступ в Web.Вы можете выбрать, где будет выводиться окно справочной системы. В VisualStudio выберите команду меню T o o l s ^ O p t i o n s . В разделе E n v i r o n m e n t слеващелкните на пункте Help, G e n e r a l .

Выберите External Help V i e w e r или Inte­grated Help V i e w e r из S h o w Help Using и щелкните на кнопке О К . Личноя предпочитаю External Help V i e w e r , когда справочная система запускаетсяв виде отдельной программы и не мешает самому Visual Studio. Integrated HelpV i e w e r помещает справку в свернутое окно вместе с вашими исходными файла­ми. Но попробуйте оба варианта и решите сами, что вам больше нравится.Предметный указательЕсли справка < F 1 > — не то, что вам нужно, пбскольку у вас нет соответствующегоключевого слова или идентификатора, вы можете продолжить поиск в предметном ука­зателе (Index Help).

Предметный указатель наиболее полезен, когда вы знаете тему, ко­торая может вам помочь, но не уверены в деталях.Например, вам может потребоваться коллекция некоторого вида, и при этом из­вестно, что большинство классов коллекций находятся в пространстве именS y s t e m . C o l l e c t i o n s .

Для поиска следует выбрать команду меню H e l p ^ l n d e x , а за­тем в окне Index ввести collections в поле ввода Look For, что предоставит списоктем, связанных со словом collections. (Этот список находится в левой части окна Help.В правой части выводится текст найденной вами темы.) Двойной щелчок на элементе. N E T F r a m e w o r k в списке тем дает вам окно, показанное на рис.

21.11.Рис. 21.11. Окно предметного указателя особенно полезно, еслиизвестна часть ответа на задаваемый вопросЗатем следует щелкнуть на S y s t e m . C o l l e c t i o n s , и эта тема открывает списокчленов пространства имен C o l l e c t i o n s . При прокрутке списка в нем можно найтикласс S o r t e d L i s t . В соответствии с кратким описанием справа это именно то, чтонужно.

Итак, результаты поиска выглядят так, как показано на рис. 21.12.Рис. 21.12. Найдена информация по определенному классуКаждый член слева в окне тем представляет собой гиперссылку. Щелчок на S o r t e d L i s t открывает информацию об этом классе, включая гиперссылки на члены класса, такчто вы можете легко получить более детальную информацию.Текстовое поле Filtered By в окне Index H e l p позволяет ограничить списоктем, в которых выполняется поиск. На рис. 21.11 и 21.12 поиск велся в рамках"Visual С # " . Без этого ограничения поиск мог бы вернуть информацию о кол­лекциях, не имеющих ничего общего с С#. Справочная система Microsoft De­veloper Network (MSDN) существенно больше, чем справка по С#.

Фильтрацияработает для предметного указателя, поиска и содержания.Когда тема показана в окне Help, можно щелкнуть на кнопке S y n c with Tableof C o n t e n t s на панели инструментов (книга с белым кругом, на котором изо­бражены левая и правая стрелки). Это выделит тему на вкладке содержанияC o n t e n t s . Вы можете выполнить прокрутку, чтобы увидеть, что тема, посвя­щенная классу S o r t e d L i s t , находится в Class Library Reference для .NETFramework Software Development Kit (SDK). Вкладка C o n t e n t s полезна для по­лучения обзора информации.Обратите внимание на опцию H e l p F a v o r i t e s в меню Help. Эта вкладка позволяет со­хранить тему как "избранную".

Позже вы сможете быстро к ней вернуться. На рис. 21.10показано окно H e l p F a v o r i t e s с некоторыми из избранных тем. Чтобы добавить текущуютему из предметного указателя в список избранного, щелкните на окне темы правойкнопкой мыши и выберите команду A d d to H e l p Favorites.508Часть VII. Дополнительные главыПоискОпция S e a r c h в меню Help наиболее полезна, когда вы в точности не знаете, чтоименно вам нужно. Это полнотекстовый поиск по всем темам справочной системы.Например, требуется коллекция, отсортированная в алфавитном порядке.

Характеристики

Тип файла
PDF-файл
Размер
14,75 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее