exercism / powershell

Exercism exercises in Windows PowerShell.
https://exercism.org/tracks/powershell
MIT License
38 stars 47 forks source link

what naming convention and indentations? #15

Closed spuder closed 6 years ago

spuder commented 8 years ago

The contributing.md instructs that the file names should be like

    ├── hello-world_example.file
    ├── hello-world.file
    └── hello-world_test.file

Powershell files typically are camel case. Also the powershell testing framework 'Pester' expects a file name with '.Tests.ps1' like 'Foo.Tests.ps1'

I've submitted two pull requests that don't quite have consistent naming conventions. Which style should be preferred?

Exercism guidelines Microsoft guidelines
hello-world_example.ps1 HeloWorldExample.ps1
hello-world.ps1 HelloWorld.ps1
hello-world.test.ps1 HelloWorld.Tests.ps1

Also, windows users typically expect tabs instead of spaces.

Should PR's be windows or linux line endings? Should PR's use tabs or spaces?

kchenery commented 6 years ago

I think we should be promoting the Microsoft guidelines as this is what most will follow in the industry. The familiarity this would bring is AGoodThing™

For the line endings, how about we determine that with a .gitattributes file? Granted we would need to make a decision on which to use (personally I'm not fussed). Since PowerShell is available on more than just Windows perhaps we should encourage linux line endings.

As for tabs v spaces - thats just going to end up in a war! An EditorConfig file can be used to set a preference assuming the tooling used by users supports it. I know Visual Studio and Visual Studio Code both do. I dont think PowerShell ISE does (although I'd encourage the use of VS Code myself).

trebleCode commented 6 years ago

I think VS Code configuration makes sense. Most people aren't going to bother trying to customize the PS ISE. I have a config file for ISE that I use on my systems if we want to just provide that and simple instructions on how to import it. Ultimately though VS Code is a way nicer experience and freely available

On Dec 27, 2017 3:58 PM, "Kent Chenery" notifications@github.com wrote:

I think we should be promoting the Microsoft guidelines as this is what most will follow in the industry.

For the line endings, how about we determine that with a .gitattributes file https://help.github.com/articles/dealing-with-line-endings/? Granted we would need to make a decision on which to use (personally I'm not fussed). Since PowerShell is available on more than just Windows perhaps we should encourage linux line endings.

As for tabs v spaces https://www.youtube.com/watch?v=SsoOG6ZeyUI - thats just going to end up in a war! An EditorConfig http://editorconfig.org/ file can be used to set a preference assuming the tooling used by users supports it. I know Visual Studio and Visual Studio Code both do. I dont think PowerShell ISE does (although I'd encourage the use of VS Code myself).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/exercism/powershell/issues/15#issuecomment-354176680, or mute the thread https://github.com/notifications/unsubscribe-auth/AHU1euXofa_KYLRuW5v8uSvfGjuuG1IZks5tEq9XgaJpZM4KMPUC .

Jaykul commented 6 years ago

Real programmers use spaces. Not tabs 😉

In PowerShell, I would strongly support not using dashes in file names except to separate Verb-Noun, even though I'm conscious that with the entry into Linux world case-sensitive file names make things a little tricky.

However, I'm afraid that the [naming convention may be enforced by the exercism tools](https://github.com/exercism/docs/blob/master/you-can-help/make-up-new-exercises.md -- are you sure it'll work to use PascalCase?

gyssels commented 6 years ago

We should enforce Microsoft best practice as a learning platform, and any exception like "tab vs space" should be mentioned on the INSTALLATION.md

For the line endings, can someone implement the a .gitattributes file and set it to spaces? Ref.: https://help.github.com/articles/dealing-with-line-endings/