Flag optional arguments on methods that differ from their interface declarations
Les mainteneurs répondent en général sous 1 jour
@GrantErickson y travaille déjà.
Depuis le 10/4/2020.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
Consider the following case:
public class Foo : IFoo
{
public void Bar(int value = 2) => Console.WriteLine(value);
}
public interface IFoo
{
public void Bar(int value = 1);
}
public static void Main(string[] args)
{
IFoo foo1 = new Foo();
foo1.Bar();
var foo2 = new Foo();
foo2.Bar();
}
Output:
2
1
I would propose that the coding standard be
DO NOT: declare optional arguments on class methods that are implementing an interface.
Rational:
- If these value are not in sync it will cause behavior as shown above.
- It is possible to declare a constant and share it in both places. However, if you have an interface for accessing the class, why is there code bypassing it? If you want to invoke the method using the default value, simply go through the interface.
- Langage dominant
- C#
- Étoiles
- 12
- Forks
- 16
- Merge moyen
- 4 min
- PR mergées (30 j)
- 12
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de IntelliTect/CodingGuidelines
-
Overriding ToString()Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
IntelliTect/CodingGuidelines#290 ·
Les mainteneurs répondent en général sous 1 jour
-
proposal: ban List<T>.ForEachOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
IntelliTect/CodingGuidelines#253 ·
Les mainteneurs répondent en général sous 1 jour
-
Review naming recommendation for fieldsPeut-être à nouveau libre @MarkMichaelis l’a pris il y a 1333 jours, et aucune pull request n’est ouverte. Ouverte.editorconfig C# coding guidelines proposal
IntelliTect/CodingGuidelines#249 · 6 commentaires · 1 réaction · 2 personnes assignées ·
Les mainteneurs répondent en général sous 1 jour
-
INTL0001 when using recordsOuverteanalyzer C# coding guidelines proposal
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
IntelliTect/CodingGuidelines#231 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
IntelliTect/CodingGuidelines#230 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de IntelliTect/CodingGuidelines
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
-
[誤判定] `define` が `デフィね`・`デフィ値` になるPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte再現済み 要トリアージ 誤判定
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
yksr-melt/Meltype#421 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Facepunch/sbox-public#12063 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
facioquo/stock-indicators-dotnet#2316 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ionide/FsAutoComplete#1559 ·