SlideShare a Scribd company logo
.net	
  code	
  
some	
  ideas	
  to	
  improve	
  yours	
  
              Carlos	
  Lopes	
  
              @carlosaml	
  
             ThoughtWorks	
  
code	
  
your	
  code	
  MATTERS	
  
so	
  how	
  can	
  you	
  write	
  be@er	
  code?	
  
and	
  so	
  on	
  
.net	
  
C#	
  
stuff	
  like	
  that	
  
ok	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  FilterAndSort(IEnumerable<int>	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  evens	
  =	
  new	
  List<int>();	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  foreach	
  (var	
  i	
  in	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if	
  (i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  evens.Add(i);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  evens.Sort();	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  evens;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
IEnumerable<int>	
  FilterAndSortRevisited(IEnumerable<int>	
  numbers)	
  
{	
  
	
  	
  	
  var	
  evens	
  =	
  numbers.Where(i	
  =>	
  i	
  %	
  2	
  ==	
  0).ToList();	
  
	
  
	
  	
  	
  evens.Sort();	
  
	
  
	
  	
  	
  return	
  evens;	
  
}	
  
IEnumerable<int>	
  FilterAndSortStrikingBack(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  return	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .Where(i	
  =>	
  i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .OrderBy(i	
  =>	
  i);	
  
}	
  
IEnumerable<int>	
  FilterAndSortEvenBe@er(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n	
  %	
  2	
  ==	
  0	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
IEnumerable<int>	
  FilterAndSortYetAgain(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n.IsEven()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
wait	
  
IEnumerable<int>	
  FilterAndSortYetAgain(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n.IsEven()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
 public	
  staWc	
  class	
  MyExtensions	
  
	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  public	
  staWc	
  bool	
  IsEven(this	
  int	
  number)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  number	
  %	
  2	
  ==	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  }	
  
we’ll	
  come	
  back	
  to	
  this	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  FilterAndSort(IEnumerable<int>	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  evens	
  =	
  new	
  List<int>();	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  foreach	
  (var	
  i	
  in	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if	
  (i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  evens.Add(i);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  evens.Sort();	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  evens;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
IEnumerable<int>	
  FilterAndSortYetAgain(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n.IsEven()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
so	
  what?	
  
“Any	
  fool	
  can	
  write	
  code	
  that	
  a	
  
   computer	
  can	
  understand.	
  
Good	
  programmers	
  write	
  code	
  that	
  
    humans	
  can	
  understand.”	
  


                                              Mar;n	
  Fowler	
  
.net code: some ideas to improve yours
Robert	
  C.	
  Mar;n	
  
fast,	
  slow,	
  slower	
  rhythm	
  
Kerievsky’s	
  5.0	
  syndrome	
  
release	
  1.0	
  is	
  quickly	
  delivered	
  
release	
  2.0	
  is	
  delivered	
  
but	
  the	
  junky	
  code	
  slows	
  you	
  down	
  
then	
  you	
  go	
  slower	
  and	
  slower	
  
mysterious	
  bugs	
  
demoWvaWon	
  
etc	
  
and	
  around	
  release	
  4.0	
  …	
  
complete	
  rewrite!	
  
5.0	
  !!!	
  
-­‐-­‐-­‐-­‐-­‐	
  -­‐-­‐-­‐-­‐-­‐	
  -­‐-­‐-­‐-­‐-­‐	
  
less	
  code	
  
less	
  bugs	
  
“If	
  you	
  love	
  wri;ng	
  code	
  -­‐-­‐	
  really,	
  truly	
  
       love	
  to	
  write	
  code	
  -­‐-­‐	
  you'll	
  love	
  it	
  
        enough	
  to	
  write	
  as	
  liEle	
  of	
  it	
  as	
  
                         possible.”	
  


                                                              Jeff	
  Atwood	
  
“Code	
  is	
  bad.	
  It	
  rots.	
  It	
  requires	
  
periodic	
  maintenance.	
  It	
  has	
  bugs	
  that	
  
need	
  to	
  be	
  found.	
  New	
  features	
  mean	
  
     old	
  code	
  has	
  to	
  be	
  adapted.”	
  


                                                   Rich	
  Skrenta	
  
coming	
  back	
  
funcWonal	
  programming	
  
“Typically	
  the	
  main	
  func;on	
  is	
  defined	
  
  in	
  terms	
  of	
  other	
  func;ons,	
  which	
  in	
  
 turn	
  are	
  defined	
  in	
  terms	
  of	
  s;ll	
  more	
  
func;ons,	
  un;l	
  at	
  the	
  boEom	
  level	
  the	
  
   func;ons	
  are	
  language	
  primi;ves.”	
  


                  John	
  Hughes	
  –	
  “Why	
  Func;onal	
  Programming	
  MaEers”	
  
F#,	
  ok	
  
but	
  
C#	
  ?!?!	
  
C#	
  is	
  an	
  imperaWve	
  language,	
  dude	
  
agreed	
  
but	
  
how	
  about	
  mixing	
  paradigms?	
  
again,	
  …	
  
less	
  code	
  
less	
  bugs	
  
-­‐-­‐-­‐-­‐-­‐	
  -­‐-­‐-­‐-­‐-­‐	
  -­‐-­‐-­‐-­‐-­‐	
  
expressiveness	
  
say	
  what	
  
IEnumerable<int>	
  FilterAndSortYetAgain(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n.IsEven()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
not	
  how	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  FilterAndSort(IEnumerable<int>	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  evens	
  =	
  new	
  List<int>();	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  foreach	
  (var	
  i	
  in	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if	
  (i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  evens.Add(i);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  evens.Sort();	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  evens;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
ok	
  
what	
  else?	
  
funcWons	
  are	
  kind	
  of	
  a	
  big	
  deal	
  
principle	
  of	
  least	
  surprise	
  
immutability	
  
no	
  side-­‐effects	
  
lazy	
  evaluaWon	
  
higher-­‐order	
  funcWons	
  
etc	
  
but	
  how?	
  
extension	
  methods	
  
IEnumerable<int>	
  FilterAndSortYetAgain(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n.IsEven()	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
 public	
  staWc	
  class	
  MyExtensions	
  
	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  public	
  staWc	
  bool	
  IsEven(this	
  int	
  number)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  number	
  %	
  2	
  ==	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  }	
  
 public	
  staWc	
  class	
  MyExtensions	
  
	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  public	
  staWc	
  bool	
  IsEven(this	
  int	
  number)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  number	
  %	
  2	
  ==	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  }	
  
LINQ	
  
IEnumerable<int>	
  FilterAndSortStrikingBack(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  return	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .Where(i	
  =>	
  i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .OrderBy(i	
  =>	
  i);	
  
}	
  
a	
  nice	
  way	
  to	
  query	
  stuff	
  
series	
  of	
  extension	
  methods	
  
Select()	
  
  Skip()	
  
  Take()	
  
OrderBy()	
  
GroupBy()	
  
 Where()	
  
    	
  
    …	
  
+	
  
syntacWc	
  sugar	
  
IEnumerable<int>	
  FilterAndSortStrikingBack(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  return	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .Where(i	
  =>	
  i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .OrderBy(i	
  =>	
  i);	
  
}	
  
IEnumerable<int>	
  FilterAndSortEvenBe@er(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  return	
  from	
  n	
  in	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  where	
  n	
  %	
  2	
  ==	
  0	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  orderby	
  n	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  select	
  n;	
  
}	
  
laziness	
  
iterators	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  Fibonacci()	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  1;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  previous	
  =	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  current	
  =	
  1;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  while	
  (true)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  next	
  =	
  previous	
  +	
  current;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  next;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  previous	
  =	
  current;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  current	
  =	
  next;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  Fibonacci()	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  1;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  previous	
  =	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  current	
  =	
  1;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  while	
  (true)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  next	
  =	
  previous	
  +	
  current;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  next;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  previous	
  =	
  current;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  current	
  =	
  next;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  Fibonacci()	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  1;	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  previous	
  =	
  0;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  current	
  =	
  1;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  while	
  (true)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  var	
  next	
  =	
  previous	
  +	
  current;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  yield	
  return	
  next;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  previous	
  =	
  current;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  current	
  =	
  next;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
watch	
  out:	
  
    	
  
performance	
  
 side	
  effects	
  
         …	
  
lambdas	
  
IEnumerable<int>	
  FilterAndSortStrikingBack(IEnumerable<int>	
  
numbers)	
  
{	
  
	
  	
  	
  	
  return	
  numbers	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .Where(i	
  =>	
  i	
  %	
  2	
  ==	
  0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  .OrderBy(i	
  =>	
  i);	
  
}	
  
syntacWc	
  sugar	
  
anonymous	
  methods	
  
 	
  	
  	
  	
  	
  	
  	
  IEnumerable<int>	
  FilterAndSortStrikingBackAgain	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  (IEnumerable<int>	
  numbers)	
  
	
  	
  	
  	
  	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  numbers.Where(delegate(int	
  number)	
  {	
  return	
  
number%2	
  ==	
  0;	
  });	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
delegates	
  
funcWon	
  pointers	
  
pass	
  funcWons	
  around	
  
-­‐-­‐-­‐-­‐-­‐	
  -­‐-­‐-­‐-­‐-­‐	
  -­‐-­‐-­‐-­‐-­‐	
  
one	
  more	
  thing	
  
don’t	
  forget	
  OO	
  
you	
  might	
  be	
  tempted	
  
order.Items.Select(item	
  =>	
  item.Price).Max();	
  
(from	
  item	
  in	
  order.Items	
  select	
  item.Price).Max();	
  
duplicaWon	
  
encapsulaWon	
  
all	
  right	
  
that’s	
  about	
  it	
  for	
  today	
  I	
  guess	
  
quesWons?	
  
thank	
  you!	
  

More Related Content

PPTX
02. Data Types and variables
PPSX
DISE - Windows Based Application Development in Java
PPTX
02. Primitive Data Types and Variables
PPTX
13. Java text processing
PPTX
Python programming workshop session 1
PPTX
03 and 04 .Operators, Expressions, working with the console and conditional s...
PDF
New Functional Features of Java 8
02. Data Types and variables
DISE - Windows Based Application Development in Java
02. Primitive Data Types and Variables
13. Java text processing
Python programming workshop session 1
03 and 04 .Operators, Expressions, working with the console and conditional s...
New Functional Features of Java 8

What's hot (16)

PDF
Python programming Workshop SITTTR - Kalamassery
PPTX
04. Console Input Output
PPTX
Chapter 22. Lambda Expressions and LINQ
PDF
Python-02| Input, Output & Import
PPSX
DITEC - Programming with Java
PDF
How to start functional programming (in Scala): Day1
PPTX
Python language data types
PDF
Rx: Curing Your Asynchronous Programming Blues | QCon London
PPTX
16. Arrays Lists Stacks Queues
PPTX
GE8151 Problem Solving and Python Programming
PPTX
Python for Beginners(v2)
PPTX
Python programming
PPTX
Python Datatypes by SujithKumar
PPT
02basics
PDF
A Language Designer’s Workbench. A one-stop shop for implementation and verif...
Python programming Workshop SITTTR - Kalamassery
04. Console Input Output
Chapter 22. Lambda Expressions and LINQ
Python-02| Input, Output & Import
DITEC - Programming with Java
How to start functional programming (in Scala): Day1
Python language data types
Rx: Curing Your Asynchronous Programming Blues | QCon London
16. Arrays Lists Stacks Queues
GE8151 Problem Solving and Python Programming
Python for Beginners(v2)
Python programming
Python Datatypes by SujithKumar
02basics
A Language Designer’s Workbench. A one-stop shop for implementation and verif...
Ad

Viewers also liked (10)

PDF
Girba Phd Presentation 2005-11-14
PPTX
Advanced Code Analysis In .NET
PDF
Code-Review-Principles-Process-and-Tools (1)
PPTX
Advanced Code Analysis with .NET
DOCX
Code review guidelines
PPT
ClearCase Basics
PPT
Code Review
PDF
Effective code reviews
PPTX
Writing clean code in C# and .NET
PPTX
C# coding standards, good programming principles & refactoring
Girba Phd Presentation 2005-11-14
Advanced Code Analysis In .NET
Code-Review-Principles-Process-and-Tools (1)
Advanced Code Analysis with .NET
Code review guidelines
ClearCase Basics
Code Review
Effective code reviews
Writing clean code in C# and .NET
C# coding standards, good programming principles & refactoring
Ad

Similar to .net code: some ideas to improve yours (20)

PDF
C++ Course - Lesson 2
PPT
07 Arrays
PPTX
Java Foundations: Arrays
PPT
Algorithms with-java-advanced-1.0
PDF
Java Code The traditional way to deal with these in Parsers is the .pdf
DOCX
DS LAB RECORD.docx
PPTX
Applications of ICT Lecture 3.pptxjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
PPTX
EXPT1.pptx
PDF
Create a menu-driven program that will accept a collection of non-ne.pdf
PPTX
Mixing functional programming approaches in an object oriented language
PPTX
Lecture-5_Arrays.pptx FOR EDUCATIONAL PURPOSE
PPTX
arrays-120712074248-phpapp01
PPT
Testing for share
PDF
Amusing C#
PDF
Groovy Refactoring Patterns
PDF
This is a lab for a java program that I am very unsure of, it has to.pdf
PDF
CP PPT_Unit IV computer programming in c.pdf
PPTX
Chapter 7.1
PPT
PPTX
Computational Complexity.pptx
C++ Course - Lesson 2
07 Arrays
Java Foundations: Arrays
Algorithms with-java-advanced-1.0
Java Code The traditional way to deal with these in Parsers is the .pdf
DS LAB RECORD.docx
Applications of ICT Lecture 3.pptxjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj...
EXPT1.pptx
Create a menu-driven program that will accept a collection of non-ne.pdf
Mixing functional programming approaches in an object oriented language
Lecture-5_Arrays.pptx FOR EDUCATIONAL PURPOSE
arrays-120712074248-phpapp01
Testing for share
Amusing C#
Groovy Refactoring Patterns
This is a lab for a java program that I am very unsure of, it has to.pdf
CP PPT_Unit IV computer programming in c.pdf
Chapter 7.1
Computational Complexity.pptx

More from Carlos Lopes (11)

PDF
Multiple projects, different goals, one thing in common: the codebase! at Agi...
PDF
Multiple projects, different goals, one thing in common: the codebase!
PDF
Cognitive Biases
PDF
The Power of Retrospectives
PDF
Gambi Design Patterns
PDF
Trunk Based Development Demystified
PDF
Trunk Based Development Explored
PDF
Trunk Based Development
PDF
10 Years Of XP
PDF
The .NET Platform - A Brief Overview
PDF
XP In the Real World
Multiple projects, different goals, one thing in common: the codebase! at Agi...
Multiple projects, different goals, one thing in common: the codebase!
Cognitive Biases
The Power of Retrospectives
Gambi Design Patterns
Trunk Based Development Demystified
Trunk Based Development Explored
Trunk Based Development
10 Years Of XP
The .NET Platform - A Brief Overview
XP In the Real World

.net code: some ideas to improve yours