Maison  >  Article  >  développement back-end  >  Résumé des compétences asp.net couramment utilisées

Résumé des compétences asp.net couramment utilisées

怪我咯
怪我咯original
2017-03-31 10:37:491360parcourir


Touches de raccourci couramment utilisées pour vs2005

DébogageTouches de raccourci

F6 : Générer la solution
Ctrl+F6 : Générer le projet en cours
F7 : Afficher code
Shift+F7 : Afficher le concepteur de formulaire
F5 : Démarrer le débogage
Ctrl+F5 : Démarrer l'exécution (sans débogage)
Shift+F5 : Arrêter le débogage
Ctrl+Shift+F5 : Redémarrer le débogage
F9 : Changer les points d'arrêt
Ctrl+F9 : Activer/arrêter les points d'arrêt
Ctrl+Shift+F9 : Supprimer tous les points d'arrêt
F10 : Processus par processus
Ctrl+F10 : Exécuter Aller à le curseur
F11 : Instruction par instruction

Modifier les touches de raccourci

Maj+Alt+Entrée : Passer en édition plein écran

Ctrl+B,T / Ctrl +K, K : basculer le commutateur de signet
Ctrl+B,N / Ctrl+K,N : passer au signet suivant
Ctrl+B,P : passer au signet précédent
Ctrl+B,C : Effacer toutes les balises

Ctrl+I : Recherche incrémentale
Ctrl+Shift+I : Recherche progressive inversée
Ctrl+F : Rechercher
Ctrl+Shift+F : Rechercher dans les fichiers
F3 : Rechercher suivant
Maj+F3 : Rechercher précédent
Ctrl+H : Remplacer
Ctrl+Maj+H : Remplacer
Alt+F12 : Rechercher le symbole (lister tous les résultats de recherche)

Ctrl+Shift+V : Presse-papiersBoucle

Ctrl+flèches gauche et droite : déplacer un mot à la fois
Ctrl+flèches haut et bas : défilement de l'écran de code, mais ne déplace pas la position du curseur.
Ctrl+Shift+L : Supprimer la ligne actuelle
Ctrl+M,M : Masquer ou développer le pli imbriqué actuel État
Ctrl+M,L : Définir tous les processus sur The même état masqué ou développé
Ctrl+M,P : arrêter l'affichage du contour
Ctrl+E,S : afficher l'espace vide
Ctrl+E,W : retourner automatiquement
Ctrl+G : accéder à spécifié Ligne
Maj+Alt+touches fléchées : sélectionnez le texte rectangulaire
Alt+souris gauchebouton : sélectionnez le texte rectangulaire

Ctrl+Maj+U : mettez tout en majuscule
Ctrl +U : Tout mettre en minuscules

Touches de raccourci du code

Ctrl+J / Ctrl+K,L : Liste des membres
Ctrl+Shift+Espace / Ctrl+K,P : Informations sur les paramètres
Ctrl+K,I : Informations rapides

Ctrl+E,C / Ctrl+K,C : CommentaireContenu sélectionné
Ctrl+E,U / Ctrl+K,U : désélectionner le contenu du commentaire

Ctrl+K,M : générer un stub de méthode
Ctrl+K,X : insérer un segment de code
Ctrl+K,S : insérer du code extérieur
🎜>
F12 : Aller à la définition de la procédure appelée ou variable

Touche de raccourci fenêtre

Ctrl+W, W : Fenêtre du navigateur
Ctrl +W,S : Gestionnaire de solutions
Ctrl+W,C : ClasseVue
Ctrl+W,E : Liste d'erreurs
Ctrl+W,O : Vue de sortie
Ctrl +W,P : PropriétésFenêtre
Ctrl+W,T : Liste des tâches
Ctrl+W,X : Boîte à outils
Ctrl+W,B : Fenêtre des favoris
Ctrl+ W,U : Plan du document

Ctrl+D,B : Fenêtre de point d'arrêt
Ctrl+D,I : Fenêtre immédiate

Ctrl+Tab : Changement de fenêtre actif

Ctrl+Shift+N : Créer un nouveau projet
Ctrl+Shift+O : Ouvrir le projet
Ctrl+Shift+S : Tout enregistrer
Shift+Alt+C : Créer une nouvelle classe
Ctrl +Maj+A : Nouvel élément



3. Variable.ToString()
conversion du type de caractère en String
12345.ToString("n"); //Générer 12 345,00
12345.ToString("C"); //Générer ¥12 345,00
12345.ToString("e") ; Générer 1.234500e+004
12345.ToString("f4"); //Générer 12345.0000
12345.ToString("x"); //Générer 3039 (hexadécimal)
12345. ToString("p"); ); //Générer 1 234 500,00 %

1.9 Obtenez l'affichage de la date chinoise - année, mois, jour, heure et minute
string strY=currentTime. ToString("f"); //Ne pas afficher les secondes

1.10 Obtenir la date chinoise display_year et le mois
string strYM=currentTime.ToString("y"); Date display_month day
string strMD=currentTime.ToString("m");

1.12 Obtenir l'année, le mois et le jour chinois
string strYMD=currentTime.ToString("D");
1.13 Obtenez l'heure et les minutes actuelles, le format est : 14:24
string strT=currentTime.ToString("t");

1.14 Obtenez l'heure actuelle, le format est : 2003 -09-23T14:46 :48
string strT=currentTime.ToString("s");

1.15 Obtenez l'heure actuelle, le format est : 2003-09-23 14:48:30Z
string strT=currentTime.ToString ("u");

1.16 Obtenez l'heure actuelle, le format est : 2003-09-23 14:48
string strT=currentTime.ToString("g ");

1.17 Obtenez l'heure actuelle au format : Tue, 23 Sep 2003 14:52:40 GMT
string strT=currentTime.ToString("r");

1.18 Obtenez la date et l'heure n jours après l'heure actuelle

Date
Time
newDay = DateTime.Now.AddDays(100);
Variable de chaîne.Replace("substring","replace with")
Remplacement de chaîne
Par exemple :
string str="Chine"
str=str; .Replace("国","central"); //Remplacez le caractère "国" par le caractère "central"
Response.Write(str); //Le résultat de sortie est "central"



C#ProgrammationStandards
Il est extrêmement nécessaire de développer un bon style de codage. Personne ne veut voir un tas de code désordonné que vous ou d'autres. sera maintenu à l'avenir. Alors, à partir de maintenant, développez de bonnes habitudes de codage, notamment la dénomination des variables, les commentaires, l'indentation du code...
1. Utilisez Pascal pour définir les types, les noms de méthodes et les constantes

tr>
public class SomeClass
public class SomeClass
{
 const int DefaultSize=100;  
 public SomeMethod()
 {
 }
}
{

const int DefaultSize=100;
public SomeMethod()

{
int number;  
           void MyMethod(int someNumber)  
           {}
}

}

2. Utilisez le nom de chameau pour les variables locales et les paramètres de méthode
int number ;
interface ImyInterface  
           {…}
void MyMethod(int someNumber)

{ Ajouter I

interface ImyInterface
                                             /table>4 . Ajoutez m_ devant les variables membres privées. Pour le
public class SomeClass  
           {  
           private int m_Number;  
           }
nom de la variable

après m_, utilisez la méthode de dénomination camel

classe publique SomeClass { private int m_Number;
      }
5. Ajoutez le suffixe Attribut
6 à la classe d'attribut personnalisée. Ajoutez le suffixe
Exception


à la classe d'exception personnalisée 7. Utilisez la paire de verbes ----
object
lorsque vous nommez la méthode, comme ShowDialog()

8. Les méthodes avec des valeurs de retour doivent être nommées avec une description de la valeur de retour, comme GetObjectState()

9. Utilisez des noms de variables descriptifs
a) Évitez les variables à un seul caractère. noms, tels que I ou t, etc. Utilisez des noms significatifs comme index ou temp.
b) Évitez d'utiliser la notation hongroise pour les variables de type public ou protégé.
c) N'abrégez pas les mots (par exemple, utilisez num au lieu de nombre).
10. Utilisez toujours C# prédéfini au lieu des alias dans l'espace de noms Système, par exemple :
//正确  
           public class LinkedList  
           {…}  

           //避免  
           public class LinkedList  
           {….}
Utilisez un objet au lieu d'un objet

Utilisez une chaîne au lieu d'une chaîne
Utilisez un int au lieu d'un int32

11. , la première lettre du type doit être en majuscule. Lorsque vous traitez des types Type dans .NET, conservez le suffixe Type. (Nouvelle fonctionnalité de C#2.0)

//Corriger
                           public class LinkedList                                            > // Évitez Public Class LinkedList & LT; KeyType, Datatype & GT;
{….}
using System;  
           using System.Collection.Generic;  
           using System.ComponentModel;  
           using System.Data;  
           using MyCompany;  
           using MyControls;
12 .Définissez l'espace de noms en utilisant noms significatifs, tels que des noms de produits ou des noms d'entreprises


13. Évitez d'utiliser des noms de types de manière pleinement qualifiée et utilisez le mot-clé using.

delegate void SomeDelegate();  
           public void SomeMethod()  
           {…}  
           SomeDelegate someDelegate=SomeMethod;
14. Évitez d'utiliser le mot-clé using dans un espace de noms 15. Organisez tous les espaces de noms fournis par le framework ensemble et utilisez les noms fournis par des tiers. l'espace sous l'espace de noms du système
using System using System.Collection.Generic using System; using System.Data ; using MyCompany ; using MyControls ; Ne pas instancier explicitement un délégué (nouvelle fonctionnalité en C# 2.0)
delegate void SomeDelegate(); public void SomeMethod()                                                                                                                                         

17. Maintenez une indentation stricte du code. N'utilisez pas de tabulations ni d'indentations non standard, telles qu'un espace. L'indentation recommandée est de 3 à 4 espaces.

18. Ajoutez un commentaire pour cette ligne de code au même niveau que l'indentation de votre code.

19. Tous les commentaires doivent réussir la vérification orthographique. Les fautes d'orthographe dans les commentaires entraînent des retards dans la progression du développement.

20. Toutes les variables membres de la classe doivent être déclarées en haut de la classe et utiliser une ligne vide pour les séparer des déclarations de méthode et d'attribut

                                                              public void SomeMethod2(); 🎜>
public class MyClass  
           {      
           int m_Number;  
           string m_Name;  
           public void SomeMethod1();  
           public void SomeMethod2();  
           }
21. là où il est utilisé.


22. Un nom de fichier doit refléter le nom de classe auquel il correspond

23 Lorsque vous utilisez une classe partielle et que vous distribuez la classe à différents fichiers, dans chaque nom de fichier À la fin, le rôle. joué par la partie implémentation du fichier dans la classe globale est ajouté. Par exemple :

//Éviter
// Dans MyClass.cs classe partielle publique MyClass
// In MyClass.cs  
           public partial class MyClass  
           {…}  
           //In MyClass.Designer.cs  
           public partial class MyClass  
           {…}
MyClass.Designer.cs

classe partielle publique MyClass
» sur une nouvelle ligne
Pratiques de codage :

Évitez de placer plusieurs classes dans le même fichier
2. . Un fichier ne doit définir que des types dans un espace de noms. Évitez d'utiliser plusieurs espaces de noms dans un fichier
3. Évitez d'écrire plus de 500 lignes de code dans un fichier (sauf le code généré automatiquement par la machine)
4. Évitez d'écrire plus de 25 lignes de code
5. Évitez d'écrire des méthodes avec plus de 5 paramètres. Si vous souhaitez transmettre plusieurs paramètres, utilisez une structure.
6. Une ligne ne doit pas dépasser 80 caractères
7. Ne modifiez manuellement aucun code généré par la machine
a) Si vous modifiez le code généré par la machine, modifiez votre méthode d'encodage pour vous adapter à cette norme d'encodage.
b) Utilisez autant que possible les fonctionnalités des classes partielles pour améliorer la maintenabilité. (Nouvelles fonctionnalités en C# 2.0)
8. Évitez de commenter du contenu très intuitif. Le code lui-même devrait être capable d’expliquer sa propre signification. Un bon code composé de noms de variables et de méthodes lisibles ne devrait pas nécessiter de commentaires.
9. Les commentaires ne doivent décrire que certaines hypothèses préalables au fonctionnement, les informations internes de l'algorithme, etc.
10. Évitez de commenter les méthodes a) Utiliser suffisamment de documentation externe pour décrire l'API

b) Seules les informations utiles aux autres développeurs doivent être placées dans les commentaires au niveau des méthodes
10. 🎜>11. Ne codez jamais en dur des valeurs autres que 0 et 1, en déclarant une constante à la place de la valeur 12. Utilisez uniquement la touche const pour les valeurs qui ne changent jamais de caractère
, comme. le nombre de jours dans une semaine.
13. Évitez d'utiliser le mot-clé const pour les variables en lecture seule. Dans ce cas, utilisez directement le mot-clé en lecture seule

public class MyClass  
           {  
           public const int DaysInWeek=7;  
           pubic readonly int Number;  
           public MyClass(int someValue)  
           {  
           Number=someValue;  
           }  
           }
tbody>
public class MyClass

public readonly int Number
public MyClass( int someValue)

}  
using System.Diagnostics;  
           object GetObject()  
           {…}  
           object someObject=GetObject();  
           Debug.assert(someObject!=null);
        }
14. Faites une affirmation pour chaque hypothèse. En moyenne, il devrait y avoir une assertion toutes les 5 lignes.
en utilisant System.Diagnostics ; Debug.assert(someObject!=null);

15. Chaque ligne de code doit être examinée via des tests en boîte blanche.
16. N'interceptez que les exceptions que vous pouvez explicitement gérer vous-même.
17. Si vous devez lancer une exception dans le bloc d'instruction catch, lancez uniquement l'exception capturée par le catch (ou d'autres exceptions créées sur la base de l'exception), afin que l'erreur d'origine puisse être maintenu L'emplacement de la pile où elle se trouve.

catch(Exception exception)
catch(Exception exception)  
           {  
           MessageBox.Show(exception.Message);  
           throw;//或throw exception;  
           }
                                                                                                                 /ou lancer une exception ; >

18. Évitez d'utiliser la valeur de retour comme code d'erreur de la fonction.
19. Évitez les classes d'exception personnalisées.
20. Lors de la personnalisation des classes d'exception :
a) Laissez votre classe d'exception personnalisée hériter de la classe Exception
b) Fournissez un mécanisme de sérialisation personnalisé
21. Méthodes >Main() dans un seul assembly. 22. Définissez uniquement les méthodes qui sont absolument nécessaires comme publiques et
définissez les autres comme internes. 23. Évitez les assemblages amis car cela augmenterait le couplage entre les assemblages.
24. Évitez de rendre votre code dépendant d'un assembly exécuté dans un endroit spécifique.
25. Minimisez la quantité de code dans l’assembly d’application (assemblys client EXE). Utilisez des bibliothèques de classes pour contenir la logique métier.
26. Évitez de spécifier explicitement des valeurs d'énumération

//Corriger                                                 public enum Color              
//正确  
           public enum Color  
           {  
           Red,Green,Blue  
           }

           //避免  
           public enum Color  
           {  
           Red=1,Green=2,Blue=3  
           }
                     Rouge = 1, Vert = 2, Bleu = 3                                >

27. Évitez de spécifier un type pour une énumération

//避免  
           public enum Color:long  
           {  
           Red,Green,Blue  
           }
public enum Color:long

{
🎜 >28. Pour les instructions if, utilisez toujours une paire de {} à inclure. le bloc d'instructions suivant, même s'il n'y a qu'une seule instruction. 29. Évitez d'utiliser l'opérateur conditionnel ternaire
.
30. Évitez d'utiliser les valeurs booléennes renvoyées par les fonctions comme instructions conditionnelles. Attribuez la valeur de retour à une variable locale, puis testez-la.

Bool IsEverythingOK()  
           {…}  

           //避免  
           if(IsEverythingOk())  
           {…}  

           //正确  
           bool ok=IsEverythingOK();  
           if (ok)  
           {…}
31. Utilisez toujours des tableaux
de base zéro. 32. Utilisez toujours une boucle for pour initialiser explicitement un tableau de références aux
membres :
Bool IsEverythingOK()                                                                                    )                                                                                      {…}

public class MyClass
           {}
           const int ArraySize=100;  
           MyClass[] array=new MyClass[ArraySize];  
           For (int index=0;index {
array[index]=new MyClass();
}
classe publique MyClass<🎜>                {}<🎜>                const int ArraySize=100; =0;index                                                                                                                                                                                                                  

33. Utilisez des propriétés pour remplacer les variables membres de type public ou protégé.
34. N'utilisez pas l'opérateur new hérité, utilisez le mot-clé override pour remplacer l'implémentation de new.
35. Dans une classe non scellée, définissez toujours les méthodes publiques et protégées comme virtuelles.
36. N'utilisez jamais de code dangereux, sauf pour interagir avec d'autres langages.
37. Évitez d'afficher la conversion de type. Utilisez le mot-clé as pour une conversion sûre vers un autre type.

Chien dog=new GermanShepherd();
Dog dog=new GermanShepherd();
GermanShepherd shepherd=dog as GermanShepherd;
if (shepherd!=null)
{…}
GermanShepherd shepherd=dog as GermanShepherd; )

                                                                                                                                                                                                                     .
39. Ne fournissez pas de variables membres event publiques. Utilisez plutôt l'accesseur d'événement.

Classe publique MyPublisher
Public class MyPublisher
{
MyDelegate m_SomeEvent;
Public event MyDelegate SomeEvent
{
add
{
m_SomeEvent+=value;
}
remove
{
m_SomeEvent-=value;
}
}
}
{

MyDelegate m_SomeEvent; Événement public MyDelegate SomeEvent                                                     ajouter                                                                        >                   m_SomeEvent- =value;                                       >


40. Utilisez EventHandler ou GenericEventHandler.
41. Évitez d'afficher les événements déclencheurs. Utilisez EventsHelper pour publier des événements en toute sécurité.
42. Utilisez toujours des interfaces.
43. Le rapport entre les méthodes et les propriétés dans les interfaces et les classes doit être d'environ 2:1.
44. Évitez les interfaces avec un seul membre.
45. Essayez de vous assurer qu'une interface compte 3 à 5 membres.
46. Ne laissez pas le nombre de membres dans une interface dépasser 20, alors que 12 est une limite plus pratique.
47. Évitez d'inclure des événements dans les interfaces. 48. Lorsque vous utilisez une classe abstraite
, fournissez une interface.
49. Exposez les interfaces dans les structures d’héritage de classe.
50. Il est recommandé d'utiliser une implémentation d'interface explicite.
51. Ne présumez jamais qu’un type prend en charge une interface. Demandez toujours avant d'utiliser.
SomeType obj1;  
           ImyInterface obj2;      
           /*Some code to initialize obj1,then:*/  
           obj2=obj1 as ImyInterface;  
           if(obj2!=null)  
           {  
           obj2.Method1();  
           }  
           else  
           {  
           //Handle erro in expected interface  
           }
SomeType obj1;

ImyInterface obj2; obj2=obj1 comme
if(obj2!=null)
{
> else

{
//避免  
           string name=””;  
           //正确  
           string name=String.Empty;
//Gérer l'erreur dans l'interface attendue           }
52. ne code pas en dur les chaînes affichées à l'utilisateur. Pour utiliser les ressources. 53. Ne codez pas en dur les chaînes qui peuvent changer avec l'environnement de publication, telles que les chaînes de connexion à la base de données. 54. Utilisez String.Empty pour remplacer ""
//Avoid                                                                                                                                      //Corriger le nom de la chaîne =String.Empty;

55. Lorsque vous utilisez une longue chaîne, utilisez StringBuilder au lieu de string.
56. Évitez de fournir des méthodes dans les structures
a) Les constructeurs paramétrés sont encouragés à être utilisés
b) Vous pouvez surcharger les opérateurs
57. Lors de la déclaration les membres expressifs, fournissent toujours un constructeur expressif.
58. Essayez de ne pas utiliser la liaison tardive lorsqu'une liaison anticipée est possible.
59. Assurez-vous que votre application prend en charge le traçage et la journalisation.
60. N'utilisez pas le mot-clé goto sauf pour implémenter des sauts de code dans le bloc instruction switch .
61. Fournissez toujours une assertion dans le cas par défaut d'une instruction switch.

int number=SomeMethod(); Trace.Writeline ("cas 1 :")
int number=SomeMethod();  
           swith(number)  
           {  
           case 1:
              trace.WriteLine(“Case 1:”)  
           break;  
           case 2:  
           trace.Writeline(“Case 2:”);
           break;  
           default:  
           debug.Assert(false);  
           break;  
           }
Break

Cas 2 :
Trace.writeline ("Case 2:");

Break;
//Example of proper use of ‘this’  
           public class MyClass  
           {  
           public MyClass(string message)  
           {   }  
           public MyClass():this(“Hello”)  
           {   }
           }
Defaut:

Assert(false);                 break;

//Exemple d'utilisation appropriée de 'this'
//Example of proper use of ‘base’  
           public class Dog  
           {  
           public Dog(string name)  
           {  }  
           virtual public void Bark(int howlong)  
           {   }  
           }
           public class GermanShepherd:Dog  
           {  
            public GermanShepherd(string name):base(name)  
           {   }  
           override public void Bark(int howLong)  
           {  
           base.Bark(howLong)  
           }  
           }
public class MyClass

{
public MyClass(string message)
                                                                                                                                                                                                                                                                   ​ >
63. N'utilisez pas le mot-clé base pour accéder aux membres d'une classe de base, sauf si vous devez résoudre un conflit de nom de sous-classe lors de l'appel d'un constructeur de classe de base

//Exemple d'utilisation appropriée de 'base'                                   virtual public void Bark(int howlong)                                               
Int CalcPower(int number,int power)  
           {  
           int result=1;  
           for (int count=1;count<=power;count++)
{
checked
{
result*=number;
}
}
return result;
}
                                                                                             > 64. N'utilisez pas GC.AddMemoryPressure() <🎜>65. Ne comptez pas sur HandleCollector <🎜>66. Implémentez les méthodes Disponse() et Finalize() en fonction du contenu du chapitre 4 dans « Programmation des composants .NET ». 2/e. <🎜>67. Exécutez toujours le code dans un état non coché (pour des raisons de performances), mais pour éviter les opérations de débordement ou de sous-débordement, utilisez le mode vérifié de manière décisive. <🎜><🎜>
Int CalcPower(int number,int power) <🎜>                                      count=1;count<=power;count++                                                                             }  <🎜> 🎜>

68. Utilisez des méthodes conditionnelles pour remplacer le code d'exclusion d'appel de méthode explicite (#if...#endif)

69. Ne définissez pas de contraintes
dans les interfaces génériques. Les contraintes au niveau de l'interface peuvent souvent être remplacées par un typage fort.

classe publique MyClass.
public class MyClass
{
[Conditional(“MySpecialCondition”)]
public void MyMethod()
{}
}
                                                                                                                    }

Public class Customer
{}
//避免:
public interface Ilist where T:Customer  
           {}  

           //正确:  
           public interface IcustomerList:Ilist
Client de classe publique  

                                                                                                                                                                                                  Client
{}

//Correct :

interface publique IcustomerList:Ilist

70 . Ne définissez pas de contraintes liées à la méthode sur l'interface.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn