Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
How much code kludge could you remove using the resharper 4?
I want to hear more about benefits on 10k+ codebases
Resharper is a tool. Continuous refactoring is an attitude. If you've got the attitude, then IMO resharper is the best tool you can get. The tool by itself does not really remove any kludge.
The size of the codebase only makes these tools more important. With reasonably large codebases you have to trust the tool. I use all og jetbrains' tools and think they're marvellous.
I still think continuous refactoring is best introduced into a project by getting one or more people who know all the tricks into your team(s).
And yes. I worked on a stuck project for 7 months doing only refactoring, using resharper. I basically refactored almost every single line of code. Maybe it should have been rewritten from scratch, but that was not an option. Be sure to introduce testing as you refactor.
It's freaking awesome. I'm currently working on releases for the large code base we're working on here and to merge a change across two branches is utterly awesome.
CTRL + T => Means I can find a type in no time at all. To go to SmartcardProductIssueService is just CTRL+T, SPIS, ENTER and the file is opened. SHIFT+ALT+L and it's selected in the SolutionExplorer, then I just right click to view the history and I can start working on the merge.
Refactoring is nice and the "greyed out" effect for unused code has helped me spot a few bugs.
If you want to see some of the refactoring joy check out the jedi refactoring vid.
Resharper offers so many benifits in terms of developer productivity. It also improves better design by suggesting many improvements to the code on the fly. i have been encouraging people in my team to use all the shortcuts from Resharper and try and get off the habit of using mouse. Its not to say that you shouldn't be using mouse at all. But Resharper offers so many rich features that as a developer you can almost forget to make use of mouse.
Here is a small blog post I wrote about how to make use of resharper to clean code
http://nileshgule.blogspot.com/2010/10/refactoring-clean-code-using-resharper.html(This does require few mouse clicks here and there :))
There are various addins for resharper like Stylecop, NUnit etc which help other tools integrate with resharper and offer better user (developer) experience.
Hope this helps.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I know that this question has been asked many times before. However, I want to take everything that I have read about Emacs/Vim from other posts, give my own understanding of the situation, and request feedback from senior developers.
Here is what I see as the advantages of each type of IDE:
Advantages of Modern IDE
Many features work with little hassle or need to configure like: Text
completion / autogenerating closing tags Useful warnings tailored to
the language
Solving issues like the ones above often require a
significant time investment. I know that you become faster at finding
and installing the packages you need, but it seems like every
extension you need in a traditional editor is much more readily
available or already built-in in modern IDE / Code editor.
For compiled languages like Java, IDEs like IntelliJ seem to have a clear
advantage in the way they are able to analyze code and for the robust
debugging they offer. As far as I can tell, even if you spend a lot
of time configuring Emacs, there is no substitute for IntelliJ even
no matter how much time you invest.
Emacs/Vim Advantages
Though there is a lot more time investment, it seems like there is a strong consensus that the time investment has a significant payout for many developers. I do not necessarily even know these benefits, but I just know that Emacs/Vim is a very powerful and loved tool by many many highly experienced devs.
Extensibility
Availability (you can use either in a terminal very easily)
Great for SSH
Full org mode (versus the much more limited org mode in VSC)
Model-editing / Vim keybindings can make editing much faster once you learn it. Also, key chords in Emacs can make you much faster and keep you on the keyboard.
Related to above, but it seems that the more you commit to Emacs, the more you can get out of it because of the extensibility. Whatever your work flow is, usually there is a way to set up Emacs to take care of the whole nine yards for you.
I am guessing because of the above, it probably helps with your focus. You can keep everything inside emacs.
So my only big question is, "Do I have an accurate understanding of the advantages of each IDE?" A harder to question answer for me is, "Do I want to invest more time in learning Emacs or Vim?" (sidenote: will probably go with Doom Emacs) Right now I have been programming for two years. I am currently learning Javascript to help me get employed and will be focusing on that for months in the future. I keep going back and forth on whether I should just go with VSC and focus on Javascript or if I should learn Emacs concurrently.
I would recommend activate a Vim plugin within your IDE. That way you will learn bit by bit without affecting your productivity. After some time you can judge by yourself if it is worth learning more and go full Vim or just use the IDE. I use Vim for 5 years and I still have to take a look at the Vim documentation everyday. But I do it because it is fun to learn to do complex text manipulation with few strokes. If Vim does not suit you, try Emacs, then. But only trying each one will tell you what fits your style.
Here is a quick intro to Vim
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Gherkin syntax files are just plain text so any editor such as notepad can be used. However, one of the more important things we are using this for is to provide tables of sample data. Without good formatting options the files become hard to read.
There are some good tools (see: How to get Gherkin syntax highlighting for .feature files in Visual Studio?) for visual studio such as specflow.org or https://github.com/henritersteeg/cuke4vs. Another option for developers using eclipse is discussed at Cucumber IDE for feature writing with autocomplete? However I don't want to require it be installed for our business analysts.
Here is a syntax highlighter files (http://productive.me/develop/cucumbergherkin-syntax-highlighting-for-notepad/) that can be imported into notepad++ but it does nothing for table formatting.
Are there any other options that I might have missed for allowing non-developers to efficiently edit .feature gherkin files?
Here is a non-developer tool. We had a similar requirement and I wanted to have a stab at creating a Chrome extension. It's free and there are no ads. Above all it is cross-platform and requires no technical knowledge to install and run. https://chrome.google.com/webstore/detail/tidy-gherkin/nobemmencanophcnicjhfhnjiimegjeo
I know this is an old post, but I came across it when I was looking for a solution and I didn't think the answers fully addressed the OP's request for a non-dev tool (presumably aimed at a non-technical person).
It's a first attempt, so be kind! Hope someone finds it useful.
There seems to be a couple of projects in the works.
There's a beta of a Gherkin editor here: http://gherkineditor.codeplex.com/ (windows)
Cucumber's author has created a web-based gherkin editor (relies on javascript, Ace and Node.js). Perhaps a bit more complicated to set up, but it could be integrated into a CMS or other web-based system.
Neither really substitutes for a conversation with your business domain experts.
Notepad++ can highlight Gherkin syntax - see http://productive.me/develop/cucumbergherkin-syntax-highlighting-for-notepad
There is an updated eclipse plugin called xgherkins at github for eclipse users
If you are using JIRA you can try a plugin called Markin at https://marketplace.atlassian.com/plugins/com.fulstech.jira-gherkin-custom-field/server/overview. It supports both Gherkin and Markdown at the same time, so it is very useful for non-developers.
Disclaimer: I am the creator of Markin.
After trying many google results, I found a solution for syntax highlighting in Eclipse.
Down load Xtest from http://www.eclipse.org/Xtext/download.html.
A good solution for this is to use the Behave plugin for JIRA.
In a good SCRUM team, your domain experts and business owners should define the backlog and describe what they want. It is awesome that you can then immediately add the Given/When/Then definitions for test scenario's.
JBehave also supports getting the .feature files from Google Docs. There is no syntax highlighting plugin for google docs though, so this only takes care of the synchronization problem.
I found http://www.bddeditor.com Seems fine for initial phase (they say "BDD Editor is work in progress".
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Almost every developer that uses a Mac practically worships TextMate. Why? What extraordinary features does it have that other text editors and IDEs don't? I did a quick search and the only really useful feature that I found that most other editors lack is the column selection option, but I wouldn't use a certain editor just for that. What makes TextMate so amazing?
TextMate was the first app I bought when I switched to the Mac a few years ago.
The features I like most are:
bundle support
clean UI
project support
shell integration
fast for small files (fast startup time)
HTMLTidy built in
CSS and XHTML validation integrated (needs online connection)
but it also has some drawbacks:
slow for big files
lack of updates (for some time now, but TextMate 2.0 seems to be alive)
The main selling point is the ability to extend the UI using bundles, which are basically just shell scripts. It is also fairly lightweight.
I think the appeal of TextMate is that its not bloated ... its has just the right mix of text editing / IDE features, implemented in just the right way :)
A lot of editors have column selections (although in a lot of them its buried deep down). The actual fact TextMate is liked is it's bundle system, which makes some repetitive programming tasks much easier. It's not considered a replacement for languages that have IDE-s with "intellisense" support (Java, C#, etc.), but it's really useful if you want to create programs in a scripting language like ruby or python.
TextMate is very powerful and at the same time usable, intuitive, elegant and lightweight.
On the other hand e.g. the two most popular Unix editors Emacs and Vi(m) are both very powerful but IMHO(!) their usability is not up to todays standards. (I use all three of them but think TextMate is by far the best.)
I've been trying to use TextMate as a replacement for Emacs. So far I'm not sold, though I like projects, simpler/cleaner UI, and the idea that it's extensible using python, etc. (I've never mastered elisp).
Things I don't like [in comparison to Emacs]:
no ability to swap point/mark or return to previous marks.
movement keys don't automatically take you out of inline search.
tags not so great (ex: no symbols can be found in java files without classes).
completion only searches current file.
NOT OPEN SOURCE.
Okay, I still want to give it a fair shot, but mostly I'm just missing Emacs' superior functionality and feeling increasingly forgiving of its challenging UI and more willing to try to learn elisp for real. Even for projects, using emacs desktop-save in a project folder can accomplish nearly the same thing.
-taranaki
Textmate basically has all the power of <insert your favorite unix editor here> with a nice Mac OS X UI wrapped around it and a great plugin system using bundles, of which hundreds are available and most are either good or awesome.
Community support.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I'm interested in evaluating bug trackers, but I wanted to back up and figure out what sorts of criteria were most important in bug software. So far things I've thought of include:
integration with source control
usability
basic features (email notifications, rss, case states)
customization
advanced features (reporting, visualizations)
stability
cost
IDE integration
Any ideas?
Ease of use
This should, in my opinion, be on the top of your list of features to evaluate against. You want inhouse developers and testers to take any and all things they notice in the software and plug it into the tool, even if they're currently working on something else. For this to happen, the tool must be so easy to use that it stays out of the way and just takes your data. The worst bugs are those you don't know about.
A tool that has 15+ fields on the screen, where 10+ are required in order to just be able to submit the issue, is not such a system. With such a system, you'll get postit notes from testers to developers about the little things.
When evaluating BugTracker X, which bugtracker do the developers of BugTracker X use?
customizable workflows (from "open" to "in work" to "resolved" to "closed")
fine granular access control
There was a recent thread on Hacker News about this exact question. Lots of good stuff in there!
An API. Mandatory.
You MUST be able to catch and automatically submit bugs into your bug tracker from applications running in the field.
(Copy/Pasted from "Lasse V. Karlsen"'s answer)
You want inhouse developers and testers to take any and all things they notice in the software and plug it into the tool, even if they're currently working on something else. For this to happen, the tool must be so easy to use that it stays out of the way and just takes your data. The worst bugs are those you don't know about.
Even good, conscientious testers, if they are focused on testing component A but happened to stumble on a bug in component B, might not actually enter that bug if there is a lot of friction in the bug tracker. Friction means, required fields. It's not that the testers are bad or lazy - it's just how the human mind works. We focus. We don't see the guy in the gorilla suit.
The Joel/FogBugz philosophy of NO required fields is the right one (Also the philosophy of my own BugTracker.NET). You almost always can gather the details later - what os, what version, what browser, etc.
Also, take a look at "Bug Shooting", if your app has a GUI. You want to make it as easy as possible for the testers to take a screenshot and get it into the bug tracker, and that's a great tool for it. Pick a tracker that works with Bug Shooting or has its own dedicated screen shot tool.
Distribution. My version control system is distributed, why shouldn't my bugtracker? If I fix a bug on the train, why should I be able to make the fix but not record it?
Probably everything mentioned by others, plus some from me.
If you have long term big project, separate testing team that will do functional tests, you should take few additional things into consideration:
- can bugs be linked to test cases (and more precisely to given run)?
- can defect tracking system exchange data with test management system?
- can it produce (useful) reports?
- can bugs be grouped by release?
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
In a related question, I asked about Web Development. I came across something called OpenLaszlo yesterday and thought it looked interesting for doing some website development. The site has a bunch of good information on it and they've got some nice tutorials and such, but being a total novice (as far as web development goes), I'm wondering whether anyone here would recommend this. As I stated in my other question, this is a new world for me and there are a lot of directions I could go. Can you compare/contrast this and other web development you've done? Obviously, this is somewhat subjective, but I haven't heard much about it on SO and I'm hoping to get some opinions on this.
I worked on a website for about a year in which the entire UI was developed in Laszlo. I've also developed AJAX applications using JS frameworks such as JQuery, Prototype and Scriptaculous.
In my experience, the total effort required is considerably less when using Laszlo, and the class-based object model helps to keep your code better organised than when using JS frameworks. My only complaints about Laszlo were that:
It "breaks the browser" in terms of support for the back/forward/refresh buttons. This problem also exists with AJAX, but most JS libraries seem to have found a workaround.
No support for internationalization, though none of the JS libraries are any better in my experience
Relatively small user base/community compared to competitors such as GWT, JQuery, etc.
All in all, I thought OpenLaszlo was a pretty good solution for creating rich web-based user interfaces, and has a number of very novel features, e.g. ability to deploy on multiple runtimes (Flash, DHTML, etc.) without requiring any code changes.
Also, I should mention that I haven't used it for almost a year, so it's likely that some progress has been made in recent times on the issues I mentioned above.
Update
5 years since I posted this answer, things have changed considerably. In case anyone is in any doubt, don't use Laszlo, the project is completely moribund.
I used openLaszlo to develop a few blog widgets for some friends of mine (about a year ago) and it was easy enough to get something basic working and it looked OK. But if I had to do it again, I would probably use FLEX I think you can make a more polished looking application in a lot less time using Flex than with Laszlo
You definitely can write a flash app quickly with OpenLaszlo. There are a lot of similarities to developing for Silverlight.
One OpenLaszlo lameness is that it uses a lame variation of javascript similar to ActionScript. Takes a little getting used to, if you are used to the latest features.
Also, the final flash file that you end up with is very large (file size) compared to what you can do with other tools.
One benefit of OpenLaszlo is the possibility of DHTML output. But for me the mix of XML and JavaScript in the same source file was somewhat confusing.