Reddit Reddit reviews Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition)

We found 14 Reddit comments about Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Networking & Cloud Computing
Internet & Telecommunications
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition)
Check price on Amazon

14 Reddit comments about Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition):

u/Ranakor · 12 pointsr/dotnet

Why would we use his coding standard when there’s already a book of coding standard from the people behind .net ?

https://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613

u/grauenwolf · 9 pointsr/csharp

This is the book you want:

http://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613/ref=sr_1_1?ie=UTF8&qid=1413532824&sr=8-1&keywords=.net+framework+design+guideline

This is literally the book that Microsoft's own developers created and used when creating the .NET framework.

u/joejance · 5 pointsr/programming

Framework Design Guidelines is an excellent book for those that author APIs. I would recommend it to any developer or architect, not just .Net people. Various MS .Net and related team members share their thoughts and opinions on what they did right and wrong with .Net as they share their own, internal design guidelines.

u/FaceDownInThePillow · 4 pointsr/cleancode

I would refer you to Framework Design Guidelines, Krzysztof Cwalina. It's an awesome book that deals with best practices. It will not help to learn .NET or C# or VB or whatever, but will provides usefull guidelines about general design principles.

Chapter 3, is Naming Guidelines. Part 3.2 is General Naming Convention. A lot of specific point are approched and you have Brad Abrams, Jeffrey Richter, and others known programmer giving their opinion on each point. Extremely informative !!

Here's one excerpt, among many many more.

> AVOID using identifiers that conflict with keywords of widely used programming languages.

> JEFFREY RICHTER : When I was porting my Applied Microsoft .NET Framework Programming book from C# to Visual Basic, I ran into this situation a lot. For example, the class library has Delegate, Module, and Assembly classes, and Visual Basic uses these same terms for keywords. This problem is exacerbated by the fact that VB is a case-insensitive language. Visual Basic, like C#, has a way to escape the keywords to disambiguate the situation to the compiler (using square brackets), but I was surprised that the VB team selected keywords that conflict with so many class library names.

EDIT : Refering to sanity's post earlier, it is the second point in part 3.2.1 of the book :

> DO favor readability over brevity. The property name CanScrollHorizontally is better than ScrollableX (an obscure reference to the X-axis).

u/CSMastermind · 4 pointsr/learnprogramming

I'd suggest you should pursue software development as a career path. Once you're working full time as a developer it will be much easier for you to move into a .NET role if you choose.

The career market can be hit or miss. There are plenty of jobs using those technologies but they're less ubiquitous than say Node or Java.

In terms of keeping up your skill, Pluralsight has some amazing content. And I'd recommend these books:

Design Patterns in C# - probably the first book I'd read.

CLR via C# - In-depth, targeted at professional developers, and absolutely crucial for anyone doing it professionally.

Agile Principles, Patterns, and Practices in C# - Will help get ready to work on a professional software development team with a slant towards Cc#.

Pragmatic Unit Testing in C# with NUnit - Also important for working as a professional C# developer.

More Effective C# - Is more of a specialist read. Might be helpful after you've worked for a year or two.

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries - Is better suited for a technical lead or architect. But could be useful to keep in your back pocket.

u/_pupil_ · 3 pointsr/dotnet

It's somewhat dry, but IIRC the .Net Framework Design Guidelines book (http://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613), had some really solid advice - though it's also aiming at a larger domain than just solutions.

Generally your libraries should reflect your points of re-use and architectural or license/copyright separation.

u/whitedsepdivine · 3 pointsr/csharp

I recommend this book to everyone who writes C#: Framework Design Guidelines

https://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613

I have read it 6 times, and know every detail in the book. I am now absolutely a top tier expert in c#. (I have had roles such as Lead Architect for multiple 1/2 billion dollar projects.) Whenever anyone asks me about how I got so good, I always say this book was what started everything for me.

Read it to understand it. If you do not understand something, research the topic, write test apps and spend your time on figuring out what it means.

The book is a bit outdated, as some topics have changed. For example c# now has variance built in and there is no longer a need for mimicking it.

Additionally, a tool like ReSharper follows the Guidelines outlined in that book, and adds too it. So having ReSharper, and spending the time to understand it's warnings will be additional help.

These two resources will help in specifically C#. Additional frameworks such as MVC is touched on, but not explained in detail. I although feel that understanding the language will help you pick up how to use frameworks.

u/markdoubleyou · 3 pointsr/csharp

As others have mentioned, writing code is the best way to get exposure. But if you're a book guy like me then there are a lot of option out there that'll accelerate the process. You'd be insane to read all the following--these are just starting points that can accommodate different interests/tastes.

Having said that, I'll start with the one book that I think every C# developer should own:

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries

... it's a good read, and it includes a lot of direct input from the designers of the C# and the .NET Framework. Microsoft has been really good about sticking to those guidelines, so you'll immediately get a leg up on the Framework libraries if you work through this book. (Also, you'll win a lot of arguments with your coworkers about how APIs should be designed.)

General knowledge books (tons to pick from, but here are some winners):

u/michaelquinlan · 2 pointsr/programming

There is probably a better way, but one way is to look towards the upper right of the page on Amazon.com where it has a link labeled 'Share'. Clicking this brings up a page with a Permalink label. Copy and paste this value. You don't need to actually send the email (click click close on the upper right). The Permalink for Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) seems to be http://amzn.com/0321545613.

The post you are replying to has been deleted so I don't know if this would address their objection or not.

u/HelveticaScenario · 2 pointsr/programming

IIRC, if there are multiple equally specific best matches you'll get a compiler error, and will have to disambiguate by making the call as you would with a normal static method. There are potentially issues if you recompile your code and the libraries you use have since added better-matching but functionaly incompatible extension methods, but I don't think there's any real solution to this, and it's unlikely to be a problem with well-designed libraries.

You're certainly correct that extension methods should be defined very carefully and sparingly. The ever-valuable Framework Design Guidelines has a number of recommendations, the first of which is to avoid "frivolously" defining extension methods.

A good IDE such as Visual Studio can tell you that Select is an extension method, which does help to some extent. Also, I suspect the vast majority of uses of extension mathods are through implementations of the LINQ patterns, in which case it's pretty clear from the usage.

Although extension methods can be used to extend existing sealed classes or as cute helpers, or for adding "instance" methods to interfaces, their primary use is for LINQ. It's fascinating how several C# 3.0 & 2.0 features that are individually quite interesting - extension methods, lambdas, type inferencing, iterators, generics, object initializers - combine with the LINQ-to-objects library to form something that's greater than the sum of the parts.

And that's not even getting into fascinating things like expression trees, the AsParallel() extension method, LINQ-to-SQL, the Rx framework...

u/RagtimeWilly · 1 pointr/csharp

I'd recommend taking a look at Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries.

It's a pretty easy read and gives very comprehensive guidelines for designing libraries.

u/wataf · 1 pointr/csharp

Yep, I've googled class naming patterns more than a couple of times. I found this stackoverflow answer, looks like handler might work well in this case.

If you want to go overboard and waste a little corporate money, you could always get your manager to order this for you.