background preloader

QA

Facebook Twitter

Performance Testing

Misconceptions regarding Java heap size arguments. We Recommend These Resources There seem to be some misconceptions regarding the Java Heap size arguments. For those who don't know, Java is peculiar in the sense that you have to specify the amount of memory you want your program to use, before you run your program. If you fail to do so then depending on the version and implementation of the JVM, your program will only be allowed to use a fraction of your computer's total RAM. This is the reason why you might get an OutOfMemoryError even if your machine has 24gb of ram and you know your Java program needs way below that amount of memory. The way to mitigate this is to set the -Xms and -Xmx parameters when launching your Java program to explicitly set the initial and maximum amount of memory your Java program is allowed to use. Note the use of the word 'allowed' in my previous statement.

Of course, this has angered some people who when they see the heap size in their eclipse status bar set to a high value tend to freak out. Requirements: Not Just for Application Projects. Four ways to manage code, simplify projects. We support a number of coding repositories and workflows on Assembla. This article is a high-level overview of the alternatives. Some material about code contribution comes from a previous article Agile next generation: Three ways to go beyond scrum.

Innovation in development relies on changes in the way developers deliver code, which is closely tied to the evolution of code repositories. There are many code management workflows, but most fit into four categories. Lock: Years ago, developers used to copy a part of the code base to work on, and formally or informally lock it, so that other developers wouldn't work on that part.

Assembla subversion still has “lock” operations to support this. Merge: The next development was merging. However, it created a new problem. A central repository with merging makes it pretty clear what is happening in the team, and makes it relatively easy for everyone to work on the same thing. Quality Analysis Evening with the Java User Group Lausanne | Software Development Musings from the Editor of Methods & Tools. The Java User Group Lausanne (JUGL) organized last week an evening where Java quality analysis tools were compared side-by-side, analyzing the same open source project. More than 100 participants came to watch the presentations done by * Coverity * Headway Software * Parasoft * Sonar * XDepend Each tool was presented during 20 minutes, analyzing the same code base: the version 2 of the IceScrum open source project management tool. All tools have a different approach to quality, there are however a lot of common defects that are targeted by most of them like unit testing coverage, code duplication, dangerous code, code dependencies, coding standards respect.

The evening started with Sonar, the only open source tool of this presentation. Its aim is to produce quality dashboards (technical or management) of software development projects. Customizing a Sonar dashboard The next tool was JTest from Parasoft. XDepend was the third presentation. Resources: Related Content:

An open source collaborative network. We have collection of more than 1 Million open source products ranging from Enterprise product to small libraries in all platforms. We aggregate information from all open source repositories. Search and find the best for your needs. Displaying 1 to 10 from 13 results IronWASP - Iron Web application Advanced Security testing Platform IronWASP (Iron Web application Advanced Security testing Platform) is an open source system for web application vulnerability testing.

It is designed to be customizable to the extent where users can create their own custom security scanners using it. Read more PyChecker - finds bugs in Python PyChecker is a tool for finding bugs in python source code. Read more CodeNarc - Static Analysis for Groovy CodeNarc analyzes Groovy code for defects, bad practices, inconsistencies, style issues, coding standards, best practices and more. Read more Poka-yoke - Poka-yoke is a static analysis tool that uses regular expressions to find defects Read more Read more Read more Read more. Thoughts on Code Commenting. One of the "behind the scenes" ways of organizing your code and making it maintainable is code commenting.

Whether you're coding in Java, CSS, JavaScript, PHP, or any language for that matter, code commenting plays an important role in making your development life easy. I thought I'd just share some off-the-cuff thoughts about code commenting. Don't leave to-do lists within your code comments, especially if you're delivering code to the client. You think you're going to remember to remove it...you wont. Even if the to-do's are above and beyond the spec, the client or developer that follows you have license to point at what you didn't get done. Swearing in comments is unprofessional but I would never go so far as to say that you shouldn't do so.

Those are just a my initial thoughts about code commenting. Tip: Wrap your code in <pre> tags or link to a GitHub Gist! Older Web Inspector and Firefox Dollar Functions Newer Introducing MooTools HeatMap. Do You Enjoy Your Code Quality? Do You Enjoy Your Code Quaility? This guest post is by James Schorr, who has been developing software since 1999. He is the owner of an IT consulting company, Enspiren IT Consulting, LLC. He lives with his lovely wife, Tara, and their children in Kansas City, Missouri. James spends a lot of time writing code in many languages, doing IT security audits, and has a passion for Ruby on Rails in particular.

There’s something innately satisfying about programming; or, at least, there should be. Compare the carpenter that hand-crafts a beautiful cabinet to a factory worker who pushes buttons to cause a machine to form identical cabinets over and over again. I have a number of applications in Production and have learned a lot over the years about the code quality, systems, and programming in general. Pre-Development Gather the requirements and “stories” from the client. Development Spend as much time as possible understanding the real-world and data needs of the client before writing any code. How websites handle multiple users simultaneously? « My Blog – My Thoughts. This time I am sharing my discussions about how all these high traffic sites handle multiple users simultaneously. The discussion is not specific to a certain web site but rather was related to a set of guidelines that every developer should follow to make such tasks easy.

There are many things to consider. I would list down some as follows: Separating the code into distinct independent layers. A classic three tier architecture having a Presentation Layer, Business Logic Layer and Data Access Layer. I have just scratched the surface here. Like this: Like Loading... All-In-One Code Framework Coding Standards. Cleaner Code with One Simple Technique. Maintainability, Code Size, and Code Complexity. We Recommend These Resources The most maintainable codebase that I worked with grew at a rate of about ~10 KLoC per month, every month. There wasn’t a large team there, it ranged fro 3 – 6 people. This is the project that I think about whenever I had to talk about good code bases.

It is a WebForms project (under protest, but it is). What make it maintainable? Not the WebForms part, which wouldn’t come as a surprise. What make it maintainable is that it is the first project where I had applied the notion that large swaths of simple code is better than smaller code base with higher complexity. Note: I am doing things like measure KLOC here mostly because it is a number that I can measure. The problem can be expressed well using the graphs. The problem with the smaller and more complex code base is that the complexity tends to explode very quickly. This doesn’t look right. So far I have been very vague when I was talking about “complex” and “simple”.

Test Path

Beautiful Code.