|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/clean-code-csharp/
课程评论:没有评论
课程名称:掌握在C#中编写干净代码的艺术 课程概述:本课程旨在教你如何在C#中设计和实现类型,使其他开发人员在使用你所开发的类型时不会讨厌你。学习编写高质量代码的方法,使其具备可读性、可理解性和可靠性。提升你在干净编码背景下的面向对象编程知识,学习如何为API成员命名,避免常见的架构坏味道,运用函数式编程原则,比如实现不可变性和消除副作用,编写更清晰的单元测试,实践测试驱动开发等。尽管C#是一种特性丰富的语言,但在现实世界中,设计和实现较差的类型仍然常见。本课程旨在帮助学员制作不“糟糕”的代码,从而获得其他开发者的专业认可。 课程内容与结构:本课程面向所有C#开发人员,从初学者到高级开发者,涵盖的主题与所有类型的C#开发者密切相关,因为所有开发者都设计和实现API。课程内容复杂度不一,从简单到需要较深C#基础的主题应有尽有,配有丰富的代码示例。涉及的主题包括: - 元原则:DRY(不重复自己)、KISS(保持简单)、YAGNI(不需要就不做)、SoC(关注分离)、CQS(命令查询分离)、PoLA(最少权限原则)、封装 - 更好地命名API成员的技巧及适用于C#的命名规范 - C#开发者在设计和实现API过程中常遇到的问题:类与结构体、创建模式与构造函数、命名不当、方法过长、输出参数等 - 常见的架构设计坏味道:原始类型迷恋、隐藏依赖、违反迪米特法则等 - 函数式编程相关内容:不可变性、时间耦合、管道化、扩展IDisposable、构建者设计模式、滥用扩展方法、错误处理 - 与依赖注入相关的反模式:控制狂、隐藏依赖、时间耦合、环境上下文、外观服务、混合注入、循环依赖 - 清晰的单元测试:单例和静态类、接口数量过多、测试琐碎代码、单一关注点测试、最佳实践 - 实践测试驱动开发:定义、三大法则、解析罗马数字、持续测试、实现井字棋 课程涵盖的内容非常广泛,欢迎报名,开始掌握在C#中编写干净代码的艺术!
Learn how to design and implement types in C# so that the other developers won't hate you when using one of the types developed by you. It means you are going to learn how to write code of the high quality: readable, understandable and reliable. Improve your knowledge in object-oriented programming in the context of clean coding and building types of high quality. Learn how to give the best names for API members Learn all the tricks related to writing clean functionsAvoid common architectural smells. Get rid of unpleasant smellsApply principles of functional programming: achieve immutability, remove side effects, extend typesAvoid smells related to dependency injectionWrite cleaner unit testsPractice Test-Driven DevelopmentFoundations of building object-oriented infrastructures Despite the fact that C# is a very rich on features language, it's very common to see poorly designed and implemented types in a real world. In fact, C# is one of the richest on features language among object-oriented languages in the world nowadays. But with great power comes great responsibility. It's challenging to use all those features in a right way. You probably have already heard the following well-known statement: most code sucks. Well, this course is all about how to produce code which doesn't suck. Owning skills of producing a well-designed and well-implemented types is the prerequisite for the other developers to treat you as a real professional. Content and Overview This course is aimed at all the C# developers, from beginners to seniors. Topics which are covered in the course are relevant for all kinds of C# developers since all developers design and implement APIs. The topics complexity is very different. There are plenty of very simple topics, and at the same time, there are topics which require from you a solid C# background. There are plenty of code examples throughout this course, so you will learn both theoretical and practical material. The course covers the following topics: Meta Principles: DRY, KISS, YAGNI, SoC, CQS, PoLA, EncapsulationHow to give better names for API members and what naming conventions exist in the.NET platform and suited for C#Common problems encountered by C# developers in the process of designing and implementing APIs: classes vs structures, creational patterns vs constructors, poor naming, excessively long methods, output parameters and so on.Common Architectural Design Smells such as Primitive Obsession, Hidden Dependencies, Violation of Law of Demeter and other.Functional Programming: immutability, temporal coupling, pipelining, extending IDisposable, Builder Design Pattern, abusing extension methods, dealing with errorsDI-related anti-patterns: control freak, hidden dependencies, temporal coupling, ambient context, facade service, bastard injection, cyclic dependenciesClean Unit Tests: singletons and static classes, excessive number of interfaces, testing trivial code, testing of a single concern, different best practicesPracticing TDD: definition, 3 laws, parsing roman numerals, continuous testing, implementing Tic-Tac-ToeThe list is far from being complete. The course covers a great number of topics. Enroll and start Mastering the Art of Writing Clean Code in C#! ------------------------------ Keywords related to the course: C# Clean CodeC# Best PracticesAPI in C#Building API in C#Clean Code in C# tutorialRefactoring