Software development

From WhyNotWiki
(Difference between revisions)
Jump to: navigation, search
Line 27: Line 27:
*http://www.vanderburg.org/Blog
*http://www.vanderburg.org/Blog
*http://www.testing.com/cgi-bin/blog
*http://www.testing.com/cgi-bin/blog
 +
 +
=Tools / Software=
 +
 +
==UML modeling==
 +
 +
See [[UML]]
 +
 +
==Maven==
 +
{{section category|Java}}-only?
 +
 +
http://maven.apache.org/
 +
{{quotation}}
 +
Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
 +
{{end quotation}}
 +
 +
http://maven.apache.org/what-is-maven.html
 +
{{quotation}}
 +
====Providing quality project information====
 +
 +
Maven provides plenty of useful project information that is in part taken from your POM and in part generated from your project's sources. For example, Maven can provide:
 +
 +
* Change log document created directly from source control
 +
* Cross referenced sources
 +
* Mailing lists
 +
* Dependency list
 +
* Unit test reports including coverage
 +
 +
As Maven improves the information set provided will improve, all of which will be transparent to users of Maven.
 +
 +
Other products can also provide Maven plugins to allow their set of project information alongside some of the standard information given by Maven, all still based on the POM.
 +
 +
====Providing guidelines for best practices development====
 +
 +
Maven aims to gather current principles for best practices development, and make it easy to guide a project in that direction.
 +
 +
For example, specification, execution, and reporting of unit tests are part of the normal build cycle using Maven. Current unit testing best practices were used as guidelines:
 +
 +
* Keeping your test source code in a separate, but parallel source tree
 +
* Using test case naming conventions to locate and execute tests
 +
* Have test cases setup their environment and don't rely on customizing the build for test preparation.
 +
 +
Maven also aims to assist in project workflow such as release management and issue tracking.
 +
 +
Maven also suggests some guidelines on how to layout your project's directory structure so that once you learn the layout you can easily navigate any other project that uses Maven and the same defaults.
 +
{{end quotation}}
 +
=Main=
=Main=

Revision as of 00:44, 12 May 2007

This is sort of the "master page" for the huge, all-encompassing overall topic of "software development" and "programming". Quite likely, you'd rather go straight to Software development practices and philosophy.


Software development  edit   (Category  edit)


Contents

Reference


Learning

Tools / Software

UML modeling

See UML

Maven

[Java (category)]-only?

http://maven.apache.org/

Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

http://maven.apache.org/what-is-maven.html

Providing quality project information

Maven provides plenty of useful project information that is in part taken from your POM and in part generated from your project's sources. For example, Maven can provide:

  • Change log document created directly from source control
  • Cross referenced sources
  • Mailing lists
  • Dependency list
  • Unit test reports including coverage

As Maven improves the information set provided will improve, all of which will be transparent to users of Maven.

Other products can also provide Maven plugins to allow their set of project information alongside some of the standard information given by Maven, all still based on the POM.

Providing guidelines for best practices development

Maven aims to gather current principles for best practices development, and make it easy to guide a project in that direction.

For example, specification, execution, and reporting of unit tests are part of the normal build cycle using Maven. Current unit testing best practices were used as guidelines:

  • Keeping your test source code in a separate, but parallel source tree
  • Using test case naming conventions to locate and execute tests
  • Have test cases setup their environment and don't rely on customizing the build for test preparation.

Maven also aims to assist in project workflow such as release management and issue tracking.

Maven also suggests some guidelines on how to layout your project's directory structure so that once you learn the layout you can easily navigate any other project that uses Maven and the same defaults.


Main

Main

Arguable whether really topics of software development or just software

Links

http://www.coderwiki.com/wiki/index.php?title=Main_Page

Question: Should I continue with this project or join the efforts at coderwiki or similar??

Blogs/news

Jobs

A company that lists all of its employees on its web site?? http://www.thoughtworks.com/thoughtworker-profiles.html

Discussion

http://peter.michaux.ca/article/340 Fork JavaScript library launch

I like the Yahoo! UI library. Of the JavaScript libraries I've used it has the best API. The YUI library has many valuable nuggets of information about browser bugs and workarounds. The code approach of YUI suits browser scripting well. However there are more than a few places in the code where I'm left scratching my head and thinking "why did they do that?" Maybe that is how every developer looks at another developers code. The YUI API is the starting point for much of the Fork API.

Most libraries seem to develop too quickly. API's are fixed from the first alpha version and code is not allowed to morph for the early part of it's life. I like the general debian attitude of careful growth because the browser execution environment is wildly varied and deserves a certain degree of conservatism in the JavaScript we send to it.

Most JavaScript libraries settle for "good enough" and don't seem to aspire to the high level of quality to which the Fork library aspires. By keeping an eye on other JavaScript libraries the good parts can be brought into the Fork code.


Code snippets

http://www.bigbold.com/snippets/

Ads
Personal tools