Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Посоветуйте книгу по C#


(Alsu Vadimovna) #1

Добрый день!
С недавних пор пишу тесты на C#. Пишу только основную часть сценария, используя Selenium.FindElement, остальные интересные и для меня сложные вещи пишет разработчик. Хочется хотя бы понимать, что он там понаписал, а потом может и самой писать.
Ни на каком языке в жизни не писала, так что, наверно, нужны какие-то основы программирования


(5am) #2

как справочник, не плохая книга
Шилдт Герберт - Полный справочник по C#
а еще обычно рекомендуют “CLR via C#” - но уже когда изначально освоишь язык.

а еще в целом не плохо бы полистать - Стив Макконнелл - Совершенный код (языку не обучит, но хорошие правила по написанию кода, задаст)


(apetrovskiy) #4

Изучал C# по Гуннерсону (причём, читал книжку где-то в 2002-м, а первый проект, который был написан частично на и который тестировался частично через дотнет, появился в конце 2003-го - т.е. через год или полтора после прочтения).
Книжка мне понравилась, читал в метро, практически понял первые этак двадцать тем без компьютера, темы в конце доизучал, когда проект появился. В параллель (до или после, не помню) читал книжку по VB.NET (к тому времени VB6 и VBA ещё хорошо помнил). Вот, собственно, стартовый багаж был такой.
Первые тесты были на объектную модель приложения (причём, COM - тогда же ещё никакого пауэршелла не было, кастомеры и PSO писали скрипты на VBScript/JScript/WSH). Я генерил тест-план при помощи рефлексии (чтобы ничего не вого не пропустить, доки же не было), и потом я и ещё один сотрудник писали тесты на все классы, свойства, методы и события по сгенерённому плану. Дотнет 1.1 паршиво работал с COM, но таки мы победили :slight_smile:

Шилдта по C# не читал, но читал по C++ и Java (обе в конце девяностых). По моему впечатлению, Шилдт нормлаьно учит конструкциям языка, а вот библиотеки я по его книжке не освоил (правда, не люблю я сочетание комп+книжка, предпочитаю: сначала хорошо написанная книжка, потом комп, чтобы уже представлять, что делать с кодом).

Из современных авторов я бы отметил Солиса - читал несколько лет назад Illustrated WPF, понравилось, как подано. И знаю, что у него есть пара изданий Ilustrated C# - посмотрите, думаю, хорошо будет описано (иллюстраций не так много, не пугайтесь, все по делу :))


(apetrovskiy) #5

Для практиков ещё могу посоветовать книжку П. Авгурова (это девменеджер то ли лаксофта, то ли бывшего старсофта. Линк на книжку с ходу не нашёл). Павел сделал очень нужную вещь - собрал сто советов с интернетов и опубликовал как книжку. И себе гонорар небольшой, и людям польза. Помогала книжка не раз.


(heartwilltell) #6

Плюсую за Герберта Шилда - сам читаю его книгу по Java, это очень хороший справочник.


(Дмитрий Жарий) #7

Я вот всем вот эту книгу советую и сам ее читал (более старое издание, еще по 2-му Сишарпу):

Язык программирования C# 5.0 и платформа .NET 4.5
Эндрю Троелсен


(Alsu Vadimovna) #8

Я ее начала читать, но много чего не понимаю. Написана она для программистов, для тех, кто хоть какой-то язык изучал, а я же ноль


(Дмитрий Жарий) #9

@uslashka Я бы хотел сказать, что: да там все просто, нужно только больше читать…
Но, это не так. C# и Java сравнительно сложные языки для изучения. Иногда говорят про высокий порог входа – это так: вначале вы и не будете многого понимать, но потом, преодолев этот порог – язык и фреймворк будет понятен, вы сможете с большой вероятностью правильно предоположить как должны работать еще неизвестные части…
Но, только лишь через чтение книг, можно потратить много времени на преодоление этого порога.
Тут только одна рекомендация: записаться на курсы языка.

С другой стороны, интересно, а почему же вы выбрали C#? Динамические языки программирования, как то Ruby, Python, Perl изучить намного легче, а делать на них вы можете практически все тоже самое.

Может быть тот разработчик, что с вам работает, как раз и не против пописать тесты не на C# (Вряд ли, конечно :smiley: )

По Ruby есть, например, такой сайт:


(Olexsandr Borisov) #10

оно то так но гугл и стек помогают и только танцы с бубном помогут


(Alsu Vadimovna) #11

@dzhariy язык поменять не могу, да и трудности меня не пугают, благо разработчики на работе всегда помогут, если что. Но согласитесь, что об одном и том же можно написать по-разному, одна книга мне будет понятна, другая - нет.

В общем, я скачала Шилдта, читаю :smile:


(Дмитрий Жарий) #12

Да, вы правы, очень важно найти для себя свою книгу. Я, например, некоторых авторов читать не могу, просто засыпаю, а другим – их стиль очень нравится.
Единственное, что я хотел бы посоветовать, так это при чтении книги, даже прочитав что-то очень небольшое – сразу пробовать это на практике, в Visual Studio. Только не путем копирования и вставки из электронной книги, а путем полного набора исходного кода руками.

В вначале, покажется, что это очень сильно замедляет чтение, но на самом деле это не так, ведь происходит более качественное запоминание материала и улучшается скорость работы.

Я много роз сталкивался с такими ситуациями, когда человек говорит, что «я недавно об этом читал», но потом не может набрать пример без Гугла и не понимает, как оно работает. Тогда, наверное, и пользы особой нет только лишь от чтения. Тут очень важна именно практика и время.

Также, призываю НЕ использовать такие инструменты как ReSharper вначале изучения. Это очень умный инструмент, который сам догадывается что хотел написать программист, и сам автоматически может править код. Это обеспечивает высокую продуктивность работы, но по сути, человек начинает забывать синтаксис языка.


(AndreyAzimov) #13

Есть еще хороший видео курс по C# http://rutracker.org/forum/viewtopic.php?t=4157851


(Ilya Zharskiy) #16

А по JScript/WSH кто-нибудь что-нибудь может посоветовать?!


(Ilya Zharskiy) #17

этот подход называется Learn … the Hard Way
для начинающих просто отлично работает


(Ilya Zharskiy) #18

Apress.Pro.C#.5.0.and.the.NET.4.5.Framework.6th.Ed.2012.Troelsen.epub
Jones.and.Bartlett.Computing.with.C#.and.the.NET.Framework.2003.Arthur.Gittleman.chm
Manning.C#.in.Depth.3rd.Ed.2014.Jon.Skeet.epub
Sams.ASP.Dot.NET.Unleashed.2nd.Ed.Jul.2003.Stephen.Walther.eBook-LiB.chm
Sams.ASP.NET.MVC.Framework.Unleashed.Dec.2009.pdf
Sams.ASP.NET.MVC.Framework.Unleashed.Jul.2009.pdf
SAMS.ASP.NET.Unleashed.2010.Stephen.Walther.Kevin.Hoffman.Nate.Dudek.chm
Wrox.Testing.ASP.Net.Web.Applications.2009.Jeff.McWherter.Ben.Hall.pdf

Addison.Wesley,.C++.Coding.Standards.101.Rules.Guidelines.(2004).LiB.chm
Agile Principles, Patterns, and Practices in C#.chm
Manning.The.Art.of.Unit.Testing.with.Examples.in.NET.2009.Roy.Osherove.pdf
OReilly.Head.First.C#.3rd.Ed.Aug.2013.Jennifer.Greene.epub
OReilly.NET.gotchas.2005.Venkat.Subramaniam.John.Osborn.chm
Programming Windows Store Apps with C# (O’Reilly, 2014).pdf

Pearson.Windows.7.and.Vista.Guide.to.Scripting.Automation.and.Command.Line.Tools.2011.Brian.Knittel.pdf
Pearson.Windows7.and Vista Guide To Scripting, Automation, And Command Line Tools, Knittel, , 2011.pdf
Sams - Vbscript, Wmi, And Adsi Unleashed - Using Vbscript, Wmi, And Adsi To Automate Windows Administration - May 2007.pdf
Sams.VBScript.WMI.and.ADSI.Unleashed.May.2007.Don.Jones.eBook-BBL.pdf
Sams.VBScript.WMI.and.ADSI.Unleashed.May.2007.Don.Jones.Using VBScript, WMI, and ADSI to Automate Windows Administration.pdf

[Experiences.of.Test.Automation(2012)].Dorothy.Graham.文字版.epub
Addison.Wesley.Experiences.of.Test.Automation.2012.Dorothy.Graham.pdf
Pearson.Software.Testing.In.The.Real.World.Improving.The.Process.pdf

Manning.-.Continuous.Integration.in.NET.2011.RETAiL.eBOOk-rebOOk.pdf
Manning.Continuous.Integration.in.NET.2011.M.Kawalerowicz.C.Berntson.pdf
Testing.for.Continuous.Delivery.Nov.2012.mobi
Testing.for.Continuous.Delivery.with.Visual.Studio.2012.Jul.2013.v1.0.epub
Testing.for.Continuous.Delivery.with.Visual.Studio.2012.Jul.2013.v1.0.pdf
TesTing.for.ConTinuous.Delivery.with.visual.sTuDio.2012.TestGuidance_ColorFinal.pdf
Wrox.Real.World.NET.C#.and.Silverlight.Indispensible.Experiences.from.15.MVPs.2011.Evjen.Baier.Balassy.epub

как-то так


(apetrovskiy) #19

Я начинал знакомство со скриптингом под Windows в 2001 году с книжки ADSI scripting, автор, кажется, Томас Экк (сейчас вряд ли есть в продаже, хотя во второй половине нулевых ещё встречалась на рынке по смешной цене). Актуальна и сейчас (по сути, близко к DirectoryServices в .NET).

Правда, у меня уже был опыт VBA, VB6 и теоретический VBScript из прочитанной древней книжке по вэб-скриптингу. В той конторе почти все продукты поддерживали скриптинг (мелкософт предлагает движок для интеграции), так что скриптинг стал для меня быстрым стартом там. Тем более, что бОльшую часть кода можно было писать в вижуал студии 6 или в IDE Microsoft Office. А вот JScript набирать было не так удобно, разве что в древней interdev.

Поскольку VBScript практически по фичам равен JScript, их можно портировать один в другой, и использовать вместе в файлах WSF.

В своё время я заказывал в контору книжку Андре Лиссуара (в названии содержится WSH), но не особо пользовался ею - чем впихивать COM-объекты в WSF, было проще и эффективнее писать на VB6, а потом и C#.
Есть несколько книг на русском, и куча онлайн ресурсов, например links
мелкософт предоставляет доки для каждой версии скриптинга (одно время их было 4: по васику, по джейскрипту, по самой среде и по чему-то ещё), вот, например, ссылки:
Windows Script 5.6 Documentation
5.8
и доки сторонних производителей, например
Adobe Photoshop Scripting