…
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.