Donanımdan birkaç bit alanı alıyorum.Bayrak enumunu kullanmanın artıları ve eksileri nelerdir?
Kodum aslen:
public readonly byte LowByte;
public bool Timer { get { return (LowByte & 1) == 1; } }
Sonra bayrakları enum hatırladı ve değiştirmeyi düşünüyorum: böylece
[Flags]
public enum LowByteReasonValues : byte
{
Timer = 1,
DistanceTravelledExceeded = 2,
Polled = 4,
GeofenceEvent = 8,
PanicSwitchActivated = 16,
ExternalInputEvent = 32,
JourneyStart = 64,
JourneyStop = 128
}
public readonly LowByteReasonValues LowByte;
public bool Timer { get { return (LowByte & LowByteReasonValues.Timer) == LowByteReasonValues.Timer; } }
ve.
En iyi uygulama hangisidir ve her bir yaklaşımın artıları ve eksileri nelerdir?
DÜZENLEME: İki yaklaşım arasında, özellikle performans açısından pratik farkların olup olmadığını bilmek istiyorum. Kodlama stilleri üzerine fikir istemek istemiyorum (Microsoft yönergelerinden gelmediği sürece). Teşekkürler. o En azından
Bu kodu kullanan geliştiricinin bakış açısından bakmayı deneyin. Yazma birimi testleri bunu yapmak için iyi bir yoldur; Yazı örnekleri (kod örnekleri) başka bir şeydir. Bu yol, geliştiricinin en net kodu yazmasına izin verir? İstemci geliştiricisi için en uygun yol hangisidir? – TrueWill