…
namespace ContosoProviders { public sealed class Roles : RoleProvider { private bool pWriteExceptionsToEventLog = false; public bool WriteExceptionsToEventLog { get { return pWriteExceptionsToEventLog; } set { pWriteExceptionsToEventLog = value; } } // // System.Configuration.Provider.ProviderBase.Initialize method. // public override void Initialize(string name, NameValueCollection config) { // Initialize the abstract base class. base.Initialize(name, config); } // // System.Web.Security.RoleProvider properties. // private string pApplicationName = ""; public override string ApplicationName { get { return pApplicationName; } set { pApplicationName = value; } } // // System.Web.Security.RoleProvider methods. // // // RoleProvider.AddUsersToRoles // public override void AddUsersToRoles(string[] usernames, string[] rolenames) { throw new NotImplementedException(); } // CUT } }
Autentyczny styl z przykładu MSDN (CUT – wycięty fragment, styl przed i po CUT zachowany). Znaleziony w pliku ContosoProviders_MSDNExample.zip na Code MSDN do którego odnośnik jest na stronach MSDN (nie mogę znaleźć linków).
ale o co chodzi !?
o styl kodu – entery, bez sensu override, dziwne miejsca deklaracji wlasciwosci (bez sensu, ani jako wlasnosci klasy, ani logicznie po miejscu gdzie sa wykorzystywane)… ogolnie balagan i burdel jak to niektorzy mowia. a co gorsza jest to przyklad pokazujacy jak cos oprogramowac z MSDN z ktorego ludzie sie ucza.
Potem w firmie dostaje kod ktorego przeczytanie i zrozumienie zajmuje mi 5 razy dluzej niz powinno (nawet style cop nie pomoaga).
nie wspominajac o sealed – jak ktos daje sealed to niech lepiej ma naprawde mocne argumenty dlaczego ono tam jest i po co.
Racja, styl tego kodu pozostawia wiele do zyczenia. Komentarze w kodzie tez po byku….
A może to przykład jak "nie pisać"?
A z tym sealed o co chodzi? Czemu trzeba mieć mocne argumenty. albo jakie to mocne (0,5; 0,7 a może 1.0 ?)
Jak najbardziej, jest to przykład jak nie pisać kodu. Calosc jest sarkastyczna, pokazujaca jak MS _uczy_ programować.
Co do _sealed_ – jedni w .Net chcą wszystko mieć sealed inny nieznosza tego. Tak jak czasami naprawde dobrze jest uzyc to slowo kluczowe tak w 90% jest ono nadużywane, przez co ogranicza ono programistow pracujących z danym framework. Tak czy siak, trzeba się zastanowić co da sealed i dlaczego chcesz uzyc to słowo kluczowe, i czy w tym wypadku klasa nie może być internal? Itp. itp.
mocne to takie, ze na 100% wiesz ze chcesz miec klase sealed gdyz na przyklad dziedziczenie po niej spowoduje niestabilnosc systemu. argument mowiacy "bo moze" nie przemawia do mnie.
Comments are closed.