<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: Many projects don&#8217;t lead to a good solution</title> <atom:link href="http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/feed/" rel="self" type="application/rss+xml" /><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/</link> <description>inquisitive: adjective. given to inquiry, research, or asking questions; eager for knowledge; intellectually curious</description> <lastBuildDate>Wed, 08 Feb 2012 11:42:42 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-14294</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Mon, 04 May 2009 10:10:59 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-14294</guid> <description>as for the navigation... at this point i&#039;m so addicted to using CTRL+T and CTRL+SHIFT+T that i can&#039;t even consider using solution explorer for most navigation tasksAs for the number of projects... as long as there is no clear-cut benefit or reason to putting something in a different project, it&#039;s completely pointless IMO. And once your solution becomes big enough, the extra compilation time definitely comes back to bite you.</description> <content:encoded><![CDATA[<p>as for the navigation&#8230; at this point i&#8217;m so addicted to using CTRL+T and CTRL+SHIFT+T that i can&#8217;t even consider using solution explorer for most navigation tasks</p><p>As for the number of projects&#8230; as long as there is no clear-cut benefit or reason to putting something in a different project, it&#8217;s completely pointless IMO. And once your solution becomes big enough, the extra compilation time definitely comes back to bite you.</p> ]]></content:encoded> </item> <item><title>By: Peter Morris</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-14291</link> <dc:creator>Peter Morris</dc:creator> <pubDate>Mon, 04 May 2009 10:05:12 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-14291</guid> <description>Navigation: You still have the same amount of code, you are just changing project navigation with folder navigation (I presume you are using folders in your app).Compilation: In the past I have been tempted just to reference binary output of shared libraries but didn&#039;t find a way to specify linking to difference assemblies based on the RELEASE/DEBUG build option.  Maybe I will go back to doing this but always referencing the RELEASE assembly.I certainly don&#039;t agree with the 1 project approach though :-)</description> <content:encoded><![CDATA[<p>Navigation: You still have the same amount of code, you are just changing project navigation with folder navigation (I presume you are using folders in your app).</p><p>Compilation: In the past I have been tempted just to reference binary output of shared libraries but didn&#8217;t find a way to specify linking to difference assemblies based on the RELEASE/DEBUG build option.  Maybe I will go back to doing this but always referencing the RELEASE assembly.</p><p>I certainly don&#8217;t agree with the 1 project approach though <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>By: links for 2009-04-29 &#171; Olivier&#8217;s Blog</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-13779</link> <dc:creator>links for 2009-04-29 &#171; Olivier&#8217;s Blog</dc:creator> <pubDate>Thu, 30 Apr 2009 00:06:48 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-13779</guid> <description>[...] Many projects don’t lead to a good solution &#124; The Inquisitive Coder - Davy Brion’s Blog Code organization: solutions, projects (tags: .net) [...]</description> <content:encoded><![CDATA[<p>[...] Many projects don’t lead to a good solution | The Inquisitive Coder &#8211; Davy Brion’s Blog Code organization: solutions, projects (tags: .net) [...]</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-11289</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sat, 04 Apr 2009 13:10:08 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-11289</guid> <description>@KitKatRobinsproper release management and branching avoids that, and a host of other potential issues as well</description> <content:encoded><![CDATA[<p>@KitKatRobins</p><p>proper release management and branching avoids that, and a host of other potential issues as well</p> ]]></content:encoded> </item> <item><title>By: KitkatRobins</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-11288</link> <dc:creator>KitkatRobins</dc:creator> <pubDate>Sat, 04 Apr 2009 13:03:34 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-11288</guid> <description>What happens if you have multiple developers working on a project, you have a bug to fix for a module e.g. News Module, so you need to do a delivery of the code if the project is one assembly you might bring in changes which another developer has done but is not a complete feature. If you just release the assembly with the fix in it then only that part is updated... which is a huge benefit</description> <content:encoded><![CDATA[<p>What happens if you have multiple developers working on a project, you have a bug to fix for a module e.g. News Module, so you need to do a delivery of the code if the project is one assembly you might bring in changes which another developer has done but is not a complete feature. If you just release the assembly with the fix in it then only that part is updated&#8230; which is a huge benefit</p> ]]></content:encoded> </item> <item><title>By: Assembly Organization in MEF - Leaning Into Windows</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-10188</link> <dc:creator>Assembly Organization in MEF - Leaning Into Windows</dc:creator> <pubDate>Fri, 20 Mar 2009 17:16:57 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-10188</guid> <description>[...] are a few blog posts including this by Chad Myers and this by Davy Brion that speak disparagingly about solutions with many projects. I do not actually agree with either [...]</description> <content:encoded><![CDATA[<p>[...] are a few blog posts including this by Chad Myers and this by Davy Brion that speak disparagingly about solutions with many projects. I do not actually agree with either [...]</p> ]]></content:encoded> </item> <item><title>By: Elegant Code &#187; Tired Of Working With Big Visual Studio Solutions?</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-7071</link> <dc:creator>Elegant Code &#187; Tired Of Working With Big Visual Studio Solutions?</dc:creator> <pubDate>Mon, 29 Dec 2008 00:36:32 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-7071</guid> <description>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</description> <content:encoded><![CDATA[<p>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</p> ]]></content:encoded> </item> <item><title>By: The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Tired Of Working With Big Visual Studio Solutions?</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-7070</link> <dc:creator>The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Tired Of Working With Big Visual Studio Solutions?</dc:creator> <pubDate>Mon, 29 Dec 2008 00:28:47 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-7070</guid> <description>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</description> <content:encoded><![CDATA[<p>[...] For new solutions, i think it&#8217;s better to just keep the number of projects to a minimum which i&#8217;ve explained previously here [...]</p> ]]></content:encoded> </item> <item><title>By: Elegant Code &#187; Assembly Partioning Advice</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-6117</link> <dc:creator>Elegant Code &#187; Assembly Partioning Advice</dc:creator> <pubDate>Mon, 08 Dec 2008 11:59:42 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-6117</guid> <description>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</description> <content:encoded><![CDATA[<p>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</p> ]]></content:encoded> </item> <item><title>By: The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Assembly Partioning Advice</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-6114</link> <dc:creator>The Inquisitive Coder - Davy Brion&#8217;s Blog &#187; Blog Archive &#187; Assembly Partioning Advice</dc:creator> <pubDate>Mon, 08 Dec 2008 11:35:51 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-6114</guid> <description>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</description> <content:encoded><![CDATA[<p>[...] partition your code in multiple assemblies. Because this is one of those subjects that i&#8217;m pretty opinionated about, i figured i&#8217;d quickly recap the valid and invalid reasons for creating assemblies that [...]</p> ]]></content:encoded> </item> <item><title>By: Weekly Links #10 &#124; GrantPalin.com</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-811</link> <dc:creator>Weekly Links #10 &#124; GrantPalin.com</dc:creator> <pubDate>Mon, 21 Jul 2008 16:16:08 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-811</guid> <description>[...] Many projects don’t lead to a good solution Response to above link. [...]</description> <content:encoded><![CDATA[<p>[...] Many projects don’t lead to a good solution Response to above link. [...]</p> ]]></content:encoded> </item> <item><title>By: Davy Brion</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-767</link> <dc:creator>Davy Brion</dc:creator> <pubDate>Sat, 19 Jul 2008 11:21:09 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-767</guid> <description>@Colin:About the navigation... i think it really depends on a lot of things. i wouldn&#039;t just use a couple of top-level folders and put everything directly underneith them either. I pretty much go with top level folders for everything that most people would use different projects for and then i probably have a similar folder structure as most people would have. I just find it a lot easier to have it all within the same project. It&#039;s probably just me though ;)As for reuse, i agree that once you want to reuse certain parts that would be a valid reason to put those parts in a separate project. I don&#039;t think it should be a rule though... if there&#039;s an advantage to splitting it up for reuse then by all means do so. If there&#039;s really no disadvantage to referencing an entire assembly just to reuse a couple of classes, then i don&#039;t really see the point in splitting it up either. It&#039;s something you should look at on a case by case basis probablythe layer per assembly thing... i still don&#039;t see the point as the whole &quot;it&#039;s cleaner&quot; argument just seems purely theoretical to me. As long as there is no practical advantage, i don&#039;t see the point.  Obviously, this changes when you have multiple physical deployments, but if that&#039;s not the case, why bother?@LukeB:Wouldn&#039;t the client&#039;s application have to be restarted anyway before the fixed assembly would be used by the application? It might as well be just one assembly thenUnless you ment updating a server-side assembly without affecting client downtime, but then you&#039;d already be using different assemblies anyway :)</description> <content:encoded><![CDATA[<p>@Colin:</p><p>About the navigation&#8230; i think it really depends on a lot of things. i wouldn&#8217;t just use a couple of top-level folders and put everything directly underneith them either. I pretty much go with top level folders for everything that most people would use different projects for and then i probably have a similar folder structure as most people would have. I just find it a lot easier to have it all within the same project. It&#8217;s probably just me though <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><p>As for reuse, i agree that once you want to reuse certain parts that would be a valid reason to put those parts in a separate project. I don&#8217;t think it should be a rule though&#8230; if there&#8217;s an advantage to splitting it up for reuse then by all means do so. If there&#8217;s really no disadvantage to referencing an entire assembly just to reuse a couple of classes, then i don&#8217;t really see the point in splitting it up either. It&#8217;s something you should look at on a case by case basis probably</p><p>the layer per assembly thing&#8230; i still don&#8217;t see the point as the whole &#8220;it&#8217;s cleaner&#8221; argument just seems purely theoretical to me. As long as there is no practical advantage, i don&#8217;t see the point.  Obviously, this changes when you have multiple physical deployments, but if that&#8217;s not the case, why bother?</p><p>@LukeB:</p><p>Wouldn&#8217;t the client&#8217;s application have to be restarted anyway before the fixed assembly would be used by the application? It might as well be just one assembly then</p><p>Unless you ment updating a server-side assembly without affecting client downtime, but then you&#8217;d already be using different assemblies anyway <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> </item> <item><title>By: Bill Pierce</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-760</link> <dc:creator>Bill Pierce</dc:creator> <pubDate>Fri, 18 Jul 2008 19:14:59 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-760</guid> <description>Intellectual Masturbation Syndrome...almost fell out of my chair laughing.  I used to reach Intellectual Climax on a regular basis but have since come around to as few projects as possible.  Two to five sounds about right.  I too have almost never re-used any code I have written across applications.  When I need to I will create a Bill.Commons project but until then I&#039;ll stick with the CCCV Pattern for the small amount of code I re-use.</description> <content:encoded><![CDATA[<p>Intellectual Masturbation Syndrome&#8230;almost fell out of my chair laughing.  I used to reach Intellectual Climax on a regular basis but have since come around to as few projects as possible.  Two to five sounds about right.  I too have almost never re-used any code I have written across applications.  When I need to I will create a Bill.Commons project but until then I&#8217;ll stick with the CCCV Pattern for the small amount of code I re-use.</p> ]]></content:encoded> </item> <item><title>By: Colin Jack</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-756</link> <dc:creator>Colin Jack</dc:creator> <pubDate>Fri, 18 Jul 2008 15:37:14 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-756</guid> <description>Just re-read, when I said &quot;I don’t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in&quot; I meant &quot;reuse the parts&quot;.Got projects on the brain today.</description> <content:encoded><![CDATA[<p>Just re-read, when I said &#8220;I don’t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in&#8221; I meant &#8220;reuse the parts&#8221;.</p><p>Got projects on the brain today.</p> ]]></content:encoded> </item> <item><title>By: LukeB</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-755</link> <dc:creator>LukeB</dc:creator> <pubDate>Fri, 18 Jul 2008 15:32:36 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-755</guid> <description>Just remember, however, that it becomes impossible to patch your installation if everything is one big assembly. Depending on client requirements (especially downtime requirements) patching (via MSI) a single assembly to fix a bug can be very useful.</description> <content:encoded><![CDATA[<p>Just remember, however, that it becomes impossible to patch your installation if everything is one big assembly. Depending on client requirements (especially downtime requirements) patching (via MSI) a single assembly to fix a bug can be very useful.</p> ]]></content:encoded> </item> <item><title>By: Colin Jack</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-754</link> <dc:creator>Colin Jack</dc:creator> <pubDate>Fri, 18 Jul 2008 15:24:09 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-754</guid> <description>Here&#039;s my issues with the less projects discussion:1) Less project doesn&#039;t really, in my experience, lead to easy navigation on a large project. You just end up with more folders and more folder hierarchy which mean that related classes spread out more. So if you keep all your domain classes in a folder then that folder will be large or have a lot of hierarchy, do the same with other aspects of the codebase (controllers, views, factories, config...) you end up navigating around a lot anyway.
2) Less project is faster - Agreed, but then by splitting things out into small(er) coherent chunks you can include just what you need in the solution. I don&#039;t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in. Also I think Michael Feathers had an interesting point on this in his book, where you only depend on an interface and as long as the implementation doesn&#039;t change you don&#039;t need to rebuild.
3) Reuse - I haven&#039;t experienced people moving things out for future reuse but I agree that&#039;s bad, however in my experience reuse happens a lot and thats definitely a place where more targetted projects help.
4) Layer Per Assembly - I agree, basically, with that approach and its not about trust, I&#039;d do it working on my own as I just find it far cleanrer.Anyway I&#039;m not overly happy with a lot of projects but one project doesn&#039;t fit my needs either (reuse/dependencies/navigation) so I&#039;m really wondering if we need a more virtualized view. Folders/projects providing one view of our development efforts just doesn&#039;t seem enough...</description> <content:encoded><![CDATA[<p>Here&#8217;s my issues with the less projects discussion:</p><p> 1) Less project doesn&#8217;t really, in my experience, lead to easy navigation on a large project. You just end up with more folders and more folder hierarchy which mean that related classes spread out more. So if you keep all your domain classes in a folder then that folder will be large or have a lot of hierarchy, do the same with other aspects of the codebase (controllers, views, factories, config&#8230;) you end up navigating around a lot anyway.<br
/> 2) Less project is faster &#8211; Agreed, but then by splitting things out into small(er) coherent chunks you can include just what you need in the solution. I don&#8217;t bring in a mothership project with all its tests/code just so I can reuse the projects that I really am interested in. Also I think Michael Feathers had an interesting point on this in his book, where you only depend on an interface and as long as the implementation doesn&#8217;t change you don&#8217;t need to rebuild.<br
/> 3) Reuse &#8211; I haven&#8217;t experienced people moving things out for future reuse but I agree that&#8217;s bad, however in my experience reuse happens a lot and thats definitely a place where more targetted projects help.<br
/> 4) Layer Per Assembly &#8211; I agree, basically, with that approach and its not about trust, I&#8217;d do it working on my own as I just find it far cleanrer.</p><p>Anyway I&#8217;m not overly happy with a lot of projects but one project doesn&#8217;t fit my needs either (reuse/dependencies/navigation) so I&#8217;m really wondering if we need a more virtualized view. Folders/projects providing one view of our development efforts just doesn&#8217;t seem enough&#8230;</p> ]]></content:encoded> </item> <item><title>By: Dew Drop - July 18, 2008 &#124; Alvin Ashcraft's Morning Dew</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-753</link> <dc:creator>Dew Drop - July 18, 2008 &#124; Alvin Ashcraft's Morning Dew</dc:creator> <pubDate>Fri, 18 Jul 2008 14:49:05 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-753</guid> <description>[...] Many Projects Don&#8217;t Lead to a Good Solution (Davy Brion) [...]</description> <content:encoded><![CDATA[<p>[...] Many Projects Don&#8217;t Lead to a Good Solution (Davy Brion) [...]</p> ]]></content:encoded> </item> <item><title>By: Jan Van Ryswyck</title><link>http://davybrion.com/blog/2008/07/many-projects-dont-lead-to-a-good-solution/comment-page-1/#comment-748</link> <dc:creator>Jan Van Ryswyck</dc:creator> <pubDate>Fri, 18 Jul 2008 05:43:49 +0000</pubDate> <guid
isPermaLink="false">http://davybrion.com/blog/?p=174#comment-748</guid> <description>IMS! Nice term :-)</description> <content:encoded><![CDATA[<p>IMS! Nice term <img
src='http://d18sni7re4ly7f.cloudfront.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 2/22 queries in 0.016 seconds using disk: basic
Object Caching 619/620 objects using disk: basic
Content Delivery Network via Amazon Web Services: CloudFront: d18sni7re4ly7f.cloudfront.net

Served from: davybrion.com @ 2012-02-08 19:21:28 -->
