[VS2008/VS2010] Syntax highlighting van variabelen/propertie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Jan_V
  • Registratie: Maart 2002
  • Laatst online: 07:27
Momenteel ben ik het boek Clean Code: A Handbook of Agile Software Craftsmanship aan het lezen. Er staan hier heel wat ideeen/suggesties in om je code beter leesbaar en onderhoudbaar te houden.
Nu ben ik alvast begonnen met het implementeren van het een en ander om te kijken of ik me kan vinden in de ideeen die hier worden gepredikt. Nog lang niet alles vind ik momenteel direct nuttig of handig, maar dat zal ook een kwestie van gewenning zijn.

Een van de dingen die ik tegen kwam, en mij wel een beetje aansprak, is dat je member variabelen niet met een m_ of een _-teken prefix moet laten beginnen. Dat leidt alleen maar af en is nergens goed voor. Nou ja, prima, maar hoe herken je ze dan? De schrijver geeft aan dat je IDE zo slim moet zijn dat hij deze kan highlighten. Nu wordt er in het boek uit gegaan van Java en waarschijnlijk als omgeving Eclipse.
Aangezien ik zelf een C#'er ben zit ik vast aan VS2008/VS2010.
Hier ben ik even op zoek gegaan in de text editor, maar kon niet echt een optie vinden om member variabelen een andere kleur te geven. Ook het zoeken naar mogelijke oplossingen via Google heeft me niet echt geholpen.

Weet iemand hier of iets dergelijks mogelijk is? Op zich is het natuurlijk niet van levensbelang dat dit moet kunnen, maar ben wel benieuwd of het mogelijk is.

Vandaag trouwens met een collega van me over het gebruik van member variabelen gehad en hij gaf al aan dat het misschien beter is om er properties van te maken (die de members dan weer setten en getten). Maakt mij op zich weinig uit. Op zich zijn properties wel redelijk goed te herkennen, aangezien die (bij ons) met een hoofdletter beginnen.
Toch ben ik nog steeds benieuwd of iets dergelijks kan met highlighting, eventueel met een add-in.

Battle.net - Jandev#2601 / XBOX: VriesDeJ


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als het al in te stellen zou zijn, zou het zitten onder Tools -> Options -> Environment -> Fonts and Colors. Maar die gaat niet zo ver als het onderscheid maken tussen local members en overige members. Dat is voor VS2008 maar ook 2010 doet dat niet AFAIK. Er zijn wel wat add-ons voor VS maar geen daarvan, voor zover ik er een aantal van heb gebruikt, doet dat if my mind serves me correct dan is Resharper je best bet. Een andere optie zou zijn zélf een (kleine) addon te maken die deze specifieke case afhandelt. Ik weet niet of 't veel werk zou zijn, maar het is wel een mogelijkheid denk ik.

[ Voor 10% gewijzigd door RobIII op 23-02-2010 21:24 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Het lijkt me dat je altijd gebruik maakt van properties. Die kosten geen extra uitvoertijd, zijn speciaal hiervoor bedoeld, bewaken de toegang, en kosten zelfs nauwelijks meer typwerk als je auto-implemented properties gebruikt. Dus zo:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// This class is mutable. Its data can be modified from
// outside the class.
class Customer
{
    // Auto-Impl Properties for trivial get and set
    public double TotalPurchases { get; set; }
    public string Name { get; set; }
    public int CustomerID { get; set; }

    // Constructor
    public Customer(double purchases, string name, int ID)
    {
        TotalPurchases = purchases;
        Name = name;
        CustomerID = ID;
    }
De juiste manier om het verschil tussen member variabelen (fields, die niet publiek moeten zijn bij een class) en properties te zien is gewoon te kijken naar de eerste letter. Fields horen te beginnen met een kleine letter, properties met een hoofdletter.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
pedorus schreef op dinsdag 23 februari 2010 @ 21:21:
De juiste manier om het verschil tussen member variabelen (fields, die niet publiek moeten zijn bij een class) en properties te zien is gewoon te kijken naar de eerste letter. Fields horen te beginnen met een kleine letter, properties met een hoofdletter.
Dat hangt af van je code style.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Olaf van der Spek schreef op dinsdag 16 maart 2010 @ 21:15:
[...]

Dat hangt af van je code style.
Klopt, je kan ook deze gebruiken (no 21: Conventions Schmentions). :+

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 05:47

Sebazzz

3dp

Olaf van der Spek schreef op dinsdag 16 maart 2010 @ 21:15:
[...]

Dat hangt af van je code style.
Klopt. Ik weet niet wat de standaard code style van C#/.NET als die er uberhaupt is. Bij Java is het vrij duidelijk, en lijken veel programmeurs zich er ook aan dezelfde stijl te houden.

Maar bij .NET heb ik in veel codevideo's van o.a Microsoft zelf veel verschillende stijlen gezien:
C#:
1
2
3
4
private object field;
private object _field;
private object _Field;
private object Field; // resharpers recommendation

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Die laatste klopt niet met standaard R# (staat op lowerCamelCase, zonder prefix). Verder link ik naar de Capitalization Conventions, dus moeilijk zoeken is het niet lijkt me. :?

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 05:47

Sebazzz

3dp

pedorus schreef op dinsdag 16 maart 2010 @ 22:19:
Die laatste klopt niet met standaard R# (staat op lowerCamelCase, zonder prefix). Verder link ik naar de Capitalization Conventions, dus moeilijk zoeken is het niet lijkt me. :?
Hmm dan zal tijdens de laatste update van 4.0 naar 4.5 wel iets fout zijn gegaan, want R# raadde me toch echt aan er een hoofdletter van te maken. Een klasgenoot heeft het ook, dus echt toeval is het niet.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • 321X
  • Registratie: April 2009
  • Laatst online: 01-01-2023
Als je je code leesbaar hebt kan je IMHO (onafhankelijk van getters/setters) je private variabelen gewoon lowerCamelCase houden (of wat de coding guidelines ook zijn) en zo herkennen.

Je methodes zullen dusdanig weinig regels bevatten (3~25?) dat je het overzicht hebt over de local variabelen.
Daarnaast kan je altijd de variabelen nog prefixen met this. maar persoonlijk vind ik dit overbodig.

[ Voor 3% gewijzigd door 321X op 17-03-2010 09:30 ]

321X


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
pedorus schreef op dinsdag 23 februari 2010 @ 21:21:
Het lijkt me dat je altijd gebruik maakt van properties. Die kosten geen extra uitvoertijd, zijn speciaal hiervoor bedoeld, bewaken de toegang, en kosten zelfs nauwelijks meer typwerk als je auto-implemented properties gebruikt.
Weer wat geleerd |:(

https://niels.nu

Pagina: 1