I think it was discussed some time ago, but I can't find that thread.
Did we set on a consistent naming standard for out projects files/ folder?
Currently each project has its own structure.
If we did, please point me to the thread where we did.
If not, here's my proposition I would like to discuss.
Provided we have project "Castle.Foo" here's my suggested structure of
src folder
src\
Castle.Foo-vs2008.sln
Castle.Foo-vs2010.sln //eventually
Castle.Foo-Silverlight.sln
Foo\
Bar.cs
Baz.cs
Foo.csproj
Foo-Silverlight.csproj
Foo.Tests\
BarTestCase.cs
BazTestCase.cs
Foo.Tests.csproj
Foo.Tests-Silverlight.csproj
I would like to point out that it would be nice to set on a common
naming suffix for test fixtures.
From a very quick look I can see we have at least three at use:
1. FooTests.cs
2. FooFixture.cs
3. FooTestFixture.cs
Same goes for test methods:
1. Some_are_named_like_this()
2. SomeLikeThis()
3. AndSome_likeThis()
I'm not saying let's stop what we're all doing and go rename all the
code we have, but let's be consistent with the new work we're doing, and
adjust non-conforming code when we find a spare moment.
Krzysztof
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=.
Inline.
While we are on naming/coding conventions. I would like to bring up the "usings grouped and each group separated by a new line" comment in our standards (http://www.castleproject.org/community/codingstandards.html). I don't know of any project that has a new line between the groups, so I think we should remove this from our standards; I don't think it helps anyway.
2009/11/17 Krzysztof Ko�mic <krzyszto...@gmail.com>
I think it was discussed some time ago, but I can't find that thread.
Did we set on a consistent naming standard for out projects files/ folder?
Currently each project has its own structure.
I didn't think that the structure was that different across projects.
ďż˝
If we did, please point me to the thread where we did.
If not, here's my proposition I would like to discuss.
Provided we have project "Castle.Foo" here's my suggested structure of
src folder
src\
� �Castle.Foo-vs2008.sln
� �Castle.Foo-vs2010.sln //eventually
� �Castle.Foo-Silverlight.sln
� �Foo\
ďż˝ ďż˝ ďż˝ Bar.cs
ďż˝ ďż˝ ďż˝ Baz.cs
ďż˝ ďż˝ ďż˝ Foo.csproj
ďż˝ ďż˝ ďż˝ Foo-Silverlight.csproj
� �Foo.Tests\
ďż˝ ďż˝ ďż˝ BarTestCase.cs
ďż˝ ďż˝ ďż˝ BazTestCase.cs
ďż˝ ďż˝ ďż˝ Foo.Tests.csproj
ďż˝ ďż˝ ďż˝ Foo.Tests-Silverlight.csproj
Most, if not all our csproj files have the full assembly name much closer to the solution name.
I was actually suggesting this to avoid lengthy paths, but ok. I'm +1 for naming Folders and .scproj files the full assembly name of the project.
ďż˝
I would like to point out that it would be nice to set on a common
naming suffix for test fixtures.
�From a very quick look I can see we have at least three at use:
1. FooTests.cs
2. FooFixture.cs
3. FooTestFixture.cs
4. FooTestCase.cs
You missed the one that is most common, FooTestCase.cs. The majority of files are named *TestCase.cs (I think followed by *Tests.cs), so we should continue to follow the TestCase convention.
ďż˝
Same goes for test methods:
1. Some_are_named_like_this()
2. SomeLikeThis()
3. AndSome_likeThis()
AFAIK the majority of tests are using upper camel case.
Actually here I'm +1 for 1 as I find it MUCH more readable.
I'm not saying let's stop what we're all doing and go rename all the
code we have, but let's be consistent with the new work we're doing, and
adjust non-conforming code when we find a spare moment.
Yes. Once we have these confirmed we should add them to the coding standards page.
ďż˝
Krzysztof
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=.
+1 to remove newline grouping in namespace
+1 for�naming Folders and .scproj files the full assembly name of the project.
+1 for James convention to name test methods, @Krzysztof this convention comes from "The art of unit testing"
+1 for "Tests"�naming suffix for test fixtures
And I would also like to vote to abolish naming variables starting with underscore
ďż˝
Cheers John
@James,
I don't like it.
It has nice division into three parts, but you don't always want this,
and this rigidity brings more headaches than advantages IMO.
You don't always test a single method, for example �in DynamicProxy
most tests don't test single method.
But what you suggested, is basically an option 3 on my list, so I take
it as you're +1 for option 3, is that right?
Krzysztof
On 17 Lis, 09:21, James Curran <james.cur...@gmail.com> wrote:
I hust joined another open source projefct and we're discussing naming
standards there too. For unit tests they choose:
MethodName_StateUnderTest_ExpectedBehavior()
for example:
CompareTo_Null_ThrowsException
CompareTo_NullDateTimeZone_UsesSystemTime
Division_ByZero_ReturnsInfinityInsteadOfThrowingAnException
if the Expected Behavior is just "_Works: it can be omitted:
CompareTo_WithInstant
CompareTo_WithDateTime
CompareTo_WithLong
2009/11/17 Krzysztof Ko�mic <krzysztof.koz...@gmail.com>:
Jonathon Rossi wrote:
Inline
Inline.
While we are on naming/coding conventions. I would like to bring up the
"usings grouped and each group separated by a new line" comment in our
standards (http://www.castleproject.org/community/codingstandards.html). I
don't know of any project that has a new line between the groups, so I think
we should remove this from our standards; I don't think it helps anyway.
I actually do use it.. or at least I started recently, after I found out
about it, and updated our ReSharper coding settings file to obey it, but I
agree, we might ditch it if no one opposes. I'm +1 for that
2009/11/17 Krzysztof Ko�mic <krzysztof.koz...@gmail.com>
I think it was discussed some time ago, but I can't find that thread.
Did we set on a consistent naming standard for out projects files/ folder?
Currently each project has its own structure.
I didn't think that the structure was that different across projects.
If we did, please point me to the thread where we did.
If not, here's my proposition I would like to discuss.
Provided we have project "Castle.Foo" here's my suggested structure of
src folder
src\
� �Castle.Foo-vs2008.sln
� �Castle.Foo-vs2010.sln //eventually
� �Castle.Foo-Silverlight.sln
� �Foo\
ďż˝ ďż˝ ďż˝ Bar.cs
ďż˝ ďż˝ ďż˝ Baz.cs
ďż˝ ďż˝ ďż˝ Foo.csproj
ďż˝ ďż˝ ďż˝ Foo-Silverlight.csproj
� �Foo.Tests\
ďż˝ ďż˝ ďż˝ BarTestCase.cs
ďż˝ ďż˝ ďż˝ BazTestCase.cs
ďż˝ ďż˝ ďż˝ Foo.Tests.csproj
ďż˝ ďż˝ ďż˝ Foo.Tests-Silverlight.csproj
Most, if not all our csproj files have the full assembly name much closer to
the solution name.
I was actually suggesting this to avoid lengthy paths, but ok. I'm +1 for
naming Folders and .scproj files the full assembly name of the project.
I would like to point out that it would be nice to set on a common
naming suffix for test fixtures.
�From a very quick look I can see we have at least three at use:
ďż˝ ďż˝ James
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=.
Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7. Enter now.
--
Also the difference between default.build and Castle.Foo.build is the first one is the new build solution file vs the later that is the old build file that is only used to build the trunk, I think the question is, when are we going to get rid of the trunk? So that then we can get rid of Castle.Foo.build.
Regarding generation of assemblyinfo, to me the auto generation really only matters on the build server which by the way I think the next version of team city will do this out of the box. On our own machines does it really matter if it is auto generated or not? My view is it doesn't matter because is not an official build.
Can we get this published once finished on the castle website instead, I think this will go hand in hand with http://www.castleproject.org/community/releaseguide.html
Cheers John
Krzysztof
Krzysztof
Cheers John
Krzysztof
MethodName_StateUnderTest_ExpectedBehavior()
Jonathon Rossi wrote:
Inline
Inline.
4. FooTestCase.cs
agreed.
Krzysztof
--
--
Jono
--
--
--
Truth,
James
--
--
--
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.
__________________________________________________________________________________
Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7.
Enter now: http://au.docs.yahoo.com/homepageset/
Yes, of course. I had created a page in Castle confluence first
yesterday
(http://using.castleproject.org/display/CASTLE/Project+structure+standards)
but when I started editing it, it woudn't allow me to save, saying there
are more users than allowed in the license. Hence I started writing it
elsewhere.
I understand what you want to put in tls, I guess my problem is that we are going to end up duplicating dlls because, the Nant in tls will have nunit.framework.dll and you also need this dll in the lib folder because that is where we reference assemblies from, right?
I mean to publish this in the www.castleproject.org website not in the confluence.
In regards to tls, so are we going to make everyone that gets the source code from svn for a single castle project get these aswell? I'm against it, I much prefer to have these tools installed on my machine and share them between all the castle + other OSS project. NAnt and NUnit are pretty much the standard for all OSS projects, so why have 15+ copies of these on my system?
-- You received this message because you are subscribed to the Google Groups "Castle Project Development List" group. To post to this group, send email to castle-pro...@googlegroups.com. To unsubscribe from this group, send email to castle-project-d...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.
Can we please get more people votes/suggestions (specially PMC
members) on this so we can proceed?
Thanks
John
On Dec 4, 2:56 am, Krzysztof Koźmic <krzysztof.koz...@gmail.com>
wrote:
> John Simons wrote:
> > I understand what you want to put in tls, I guess my problem is that
> > we are going to end up duplicating dlls because, the Nant in tls will
> > have nunit.framework.dll and you also need this dll in the lib folder
> > because that is where we reference assemblies from, right?
>
> Not really. you keep NUnit in tools and both - test project and NAnt
> references it from there.
> Rule of thumb that decides whether something goes to tools or libs - do
> we redistribute it? no - than tools it is.> I mean to publish this in thewww.castleproject.orgwebsite not in the
> > confluence.
>
> Ok, I'll migrate it there.> In regards to tls, so are we going to make everyone that gets the
> > source code from svn for a single castle project get these aswell? I'm
> > against it, I much prefer to have these tools installed on my machine
> > and share them between all the castle + other OSS project. NAnt and
> > NUnit are pretty much the standard for all OSS projects, so why have
> > 15+ copies of these on my system?
>
> To have the repository self contained. We've already had this conversation.
> I for example never install NAnt nor NUnit and consider requiring that
> an antipattern. This has always brought more headache than good (failing
> tests/build because of version incompatibility anyone?)
> Also remember that we have not only users like you or me, but also like
> this gentleman:http://stackoverflow.com/questions/1829776/help-building-castle-dynam...
> ...
>
> read more >>
Regarding the NAnt/NUnit thing I am strongly in favor of�keeping the project self-contained. ClickToBuild.bat should just work right after a fresh checkout.
2009/12/19 John Simons <johnsi...@yahoo.com.au>
Bump!
Can we please get more people votes/suggestions (specially PMC
members) on this so we can proceed?
Thanks
John
On Dec 4, 2:56 am, Krzysztof Ko�mic <krzysztof.koz...@gmail.com>
wrote:
> John Simons wrote:> we redistribute it? no - than tools it is.> I mean to publish this in thewww.castleproject.orgwebsite not in the
> > I understand what you want to put in tls, I guess my problem is that
> > we are going to end up duplicating dlls because, the Nant in tls will
> > have nunit.framework.dll and you also need this dll in the lib folder
> > because that is where we reference assemblies from, right?
>
> Not really. you keep NUnit in tools and both - test project and NAnt
> references it from there.
> Rule of thumb that decides whether something goes to tools or libs - do
> > confluence.> this gentleman:http://stackoverflow.com/questions/1829776/help-building-castle-dynam...
>
> Ok, I'll migrate it there.> In regards to tls, so are we going to make everyone that gets the
> > source code from svn for a single castle project get these aswell? I'm
> > against it, I much prefer to have these tools installed on my machine
> > and share them between all the castle + other OSS project. NAnt and
> > NUnit are pretty much the standard for all OSS projects, so why have
> > 15+ copies of these on my system?
>
> To have the repository self contained. We've already had this conversation.
> I for example never install NAnt nor NUnit and consider requiring that
> an antipattern. This has always brought more headache than good (failing
> tests/build because of version incompatibility anyone?)
> Also remember that we have not only users like you or me, but also like
> for him builiding Castle as it stands now is a PITA nad I don't even
> want to think how many �f*cks he threw at us when dealing with this.
> It's not like we have 8GB HDDs anymore so that we need to save every few
> MBs we can spare.
>
> It's a matter of DX (developer experience) that people playing with
> Castle will have and the nicest there is is double-clicking
> ClickToBuild.cmd ended with nice "Build successful - have a great time
> playing with Castle" message.
>
> Krzysztof
>
>
>
> > On Dec 3, 8:57 am, Krzysztof Ko�mic <krzysztof.koz...@gmail.com>
> > wrote:
>
> >> John Simons wrote:
>
> >>> @Krzysztof, not clear on the difference between tls and lib, aren't these the same? We would still need a copy of eg nunit.framework.dll in both the lib and tlb, right?
>
> >> No. lib are the .dlls the project in question needs to function. For
> >> example in Windsor's case it would contain MicroKernel, Core, and
> >> DynamicProxy.
> >> tls on the other hand are all other dlls/tools that are used by
> >> developers. That's the place to put things like NUnit Nant, Rhino.Mocks
> >> or whatever tools that are used by us, but not redistributed in the
> >> binary package of the project in question.
> >> We use this division at work and it plays pretty nicely. Originally that
> >> came from JP Boodhoo I think.> Also the difference between default.build and Castle.Foo.build is the first one is the new build solution file vs the later that is the old build file that is only used to build the trunk, I think the question is, when are we going to get rid of the trunk? So that then we can get rid of Castle.Foo.build.
>
> >> Aaaah ok - thanks for the clarification. I'm not the one to call the
> >> shots on this but I'm +1 for phasing the trunk out.> Regarding generation of assemblyinfo, to me the auto generation really only matters on the build server which by the way I think the next version of team city will do this out of the box. On our own machines does it really matter if it is auto generated or not? My view is it doesn't matter because is not an official build.
>
> >>> Can we get this published once finished on the castle website instead, I think this will go hand in hand with �http://www.castleproject.org/community/releaseguide.html
> >>> purpose. This way we don't have the issue of different �versions not
> >>> You don't always test a single method, for example �in DynamicProxy
> >>> � �Castle.Foo-vs2008.sln
> >>> � �Castle.Foo-vs2010.sln //eventually
> >>> � �Castle.Foo-Silverlight.sln
> >>> � �Foo\
> >>> ďż˝ ďż˝ ďż˝ Bar.cs
> >>> ďż˝ ďż˝ ďż˝ Baz.cs
> >>> ďż˝ ďż˝ ďż˝ Foo.csproj
> >>> ďż˝ ďż˝ ďż˝ Foo-Silverlight.csproj
> >>> � �Foo.Tests\
> >>> ďż˝ ďż˝ ďż˝ BarTestCase.cs
> >>> ďż˝ ďż˝ ďż˝ BazTestCase.cs
> >>> ďż˝ ďż˝ ďż˝ Foo.Tests.csproj
>
> ...
>
> read more >>
--
You received this message because you are subscribed to the Google Groups "Castle Project Development List" group.
To post to this group, send email to castle-pro...@googlegroups.com.
To unsubscribe from this group, send email to castle-project-d...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/castle-project-devel?hl=en.