Latest Event Updates

Nowe nauczone

Posted on Updated on

Shape? shape = null;

var shapeAsByte = (byte?)shape;
var s = shapeAsByte.ToString(); // s = "";

var s1 = shape.ToString(); // s1 = "";

Wydawało mi się że ToString() na wartości null się wywalić NullReferenceException, ale jednak przypisało “”.

R#:
AlT+Enter na teście albo na klasie pokazuje menu z którego można wybierać Run/Debug Test. O ile w teście korzystam ze skrótów (np CTRL+T+D) to na całej klasie nie znałem tego.

Usuwanie plików z rozszerzeniem *vc.db

http://stackoverflow.com/questions/36407386/what-is-the-vc-db-file-in-visual-studio-projects

How can I recursively find all files in current and subfolders based on wildcard matching?


find . -name *.VC.db


find . -iname *.vc.db

Use better console.log overload

console.log(“node: “, node); // one liner is better

console.log(“node: “);
console.log(node); // two lines is not so good

Remove *.vspscc files (used by TFS, no longer needed for git)

https://social.msdn.microsoft.com/Forums/vstudio/en-US/9920911d-1a7e-4ada-90cd-b1b910586cf4/why-do-you-need-the-vspscc-and-vssscc-files?forum=tfsgeneral

[StyleCop] Reguły które wyłączam

Posted on Updated on

… kiedyś opiszę te podstawowe …

A teraz te, z którymi na bieżąco trzeba sobie radzić.

* EF add-migration dodaje trailing whitespace (SA1028) w klasach z kodem migracji. – rozwiazanie niżej w treści posta (Exclude tylko dla danego namespace)

Można wyłączyć reguły per projekt (namespace, class, etc)

Gdy StyleCop zaoferuje nam fixa to możemy dać “Suppress in suppression file” i wtedy zostanie utworzone coś takiego:

// GlobalSuppressions.cs

// This file is used by Code Analysis to maintain SuppressMessage 
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given 
// a specific target and scoped to a namespace, type, member, etc.

using System.Diagnostics.CodeAnalysis;

[assembly: SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1618:Generic type parameters must be documented", Justification = "<Pending>", Scope = "member", Target = "~M:YourOrganization.Project.Class``2(AutoMapper.IMappingExpression{``0,``1},System.Linq.Expressions.Expression{System.Func{``1,System.Object}})~AutoMapper.IMappingExpression{``0,``1}")]

Dużo przewijania w prawo.

Exclude tylko dla danego namespace

GlobalSuppressions.cs można wrzucić dowolny katalog i wtedy będzie dotyczyło tylko tych z danego i poniżej. Zakładam że namespace’y odpowiadają katalogom.

StyleCop & operator precedence in C#

Posted on Updated on

Przekład niedobrych praktyk które wyłapie StyleCop:

stylecop-conditional-expression-must-declare-precedence

O operator precedence i czy nawiasy są istotne możecie poczytać na:

http://softwareengineering.stackexchange.com/questions/201175/should-i-use-parentheses-in-logical-statements-even-where-not-necessary
– pierwsza i druga odpowiedź warta przeczytania.

Danish gambit

Posted on Updated on

Prosty do grania, na zmianę z gambitem centralnym.

Bardzo otwarty, nie będzie nudy i wyrobimy się w czasie (np 10 min).

Components in Angular 1.x

Posted on

Using TypeScript here:

isActionPossible(component) {
return this.someService.isActionPossible(component);
}

In Component (accessible in markup as “$ctrl.isActionPossible(item)”) above code cannot be changed to


isActionPossible = this.someService.isActionPossible;

as this will be broken in method someService.isActionPossible()