Tag Info

Hot answers tagged

60

You are right to point out that the users are the most important thing, in the end. But here's the point I think you've missed: Other developers are users of your code. It's as important what they see as what your application users see. Now if it was a tradeoff -- if improving your code made the user experience worse -- then I'd have to say pay attention to ...


40

A service runs in the background, even if no-one is signed on to the machine. Anything you can imagine wanting to do without relying on a person to start an app and click a button is a good candidate for a service. For example, monitoring a folder and whenever a file is written to it, process it in some way. Any "server" you can think of - web server, ftp ...


30

If there's some consistency, I try to overlook it and move on. There's no need to be a perfectionist. But if the developer who wrote the code was careless, then he or she may not understand that other developers will need to read their code, and if the developer doesn't understand the concepts of readability, then this tells me something about this developer ...


25

I think this is a case of confirmation bias. Since VBA was included with many versions of Office, many folks got started by writing macros and VBA code to get stuff done (in Excel, Access, or now InfoPath). This makes VB a first programming language for many self-taught programmers. In addition, since many programmers have no formal education, habits ...


25

I don't think I'm understand what you mean by drag and drop. I don't use .NET, but I do use Qt for user interfaces, and use Qt Creator for creating the layout of widgets. I don't think this makes me less of a programmer, as the actual logic of the program is all done elsewhere, and I just use the Qt Creator to make things line up in a way which is: much ...


17

A programmer should work as a limited user with admin access. That is, the programmer should be the admin of the machine, but while working, he should always use a limited user account. If you need elevated rights to work, for anything but installing software, you're doing something very wrong. Worse, if you work as a power user or disable UAC prompts or ...


17

I fix whichever unit tests aren't working. If they are all passing, then I write a new one.


16

Yes. Taking a sample set of 50+ developers I have worked with, I have yet to come across a developer who is consistently sloppy in their formatting yet has outstanding output in terms of code correctness, and meets all functional requirements and non-functional requirements consistently and effectively. Sloppy formatting is a sign of a lack of attention to ...


15

Setting up unit testing in VS2010 is fairly easy. Add a new project to your solution and select the Test Project template from the New Project dialog box. Usually you create one test project for project you want to test in your solution (ie. BusinessLogic.proj would have a mate called BusinessLogicTest.proj, just as an example). Once you have the ...


15

No, it wouldn't help. C# and C++ are quite different languages, they might have similar syntaxes but that's where their similarities stop. Now, if you were already familiar with C++, yes, that knowledge would be useful (but not required) while learning C++ or any other language, really.


14

There are a whole load of reasons. Off the top of my head: 1) VB was always designed as a tool to allow people to get results quickly - both in terms of learning curve and development time. While this is great in some ways the options it gave you to cut corners (which were in many cases the things which increased productivity) were too tempting for a lot ...


14

Dragging visual images around is just one of many development tools to make your life easier -- same as a debugger, or something that auto-generates getter and setter functions -- and there's nothing inherently wrong with that. It's like using a calculator. If you rely on it too much as a kid then you might not ever get good at your times tables. However, ...


14

It was written using WPF, so that would be XAML and (most likely) C#. Wikipedia just states: The IDE shell has been rewritten using the Windows Presentation Foundation (WPF), whereas the internals have been redesigned using Managed Extensibility Framework (MEF) which doesn't help with the non XAML part. I suspect that there will be C++ elements in ...


11

I've found a number of issues: It's memory hungry and prone to leaking. Over the last couple of weeks I've been converting a set of Silverlight projects to .NET 4 and Silverlight 4 and when compiling several times over a short period it would either generate out of memory errors or just fail. It's also prone to crashing out, apparently at random when ...


11

The Add Reference diagram still sucks. It just sucks in new and different ways from 2008. It is better now that you can get to the Recent, Browse, and Project tabs quicker. However, the tab that shows the huge list of assemblies is not very useful. It loads in dribs and drabs, but with no indication of when it is done or not, and with seemingly no rhyme ...


11

The main shortcoming is that you throw away one of the main properties (not necessarily advantages) of C# - that it is statically typed (and for most part type safe). The problem with dynamic typing is that it often hides bugs that would be otherwise revealed during compilation. Such bug then only manifests on run-time, which of course makes it much harder ...


11

Since this could be a long ongoing project, I want to get the structure right from the beginning It's pretty tricky to know up front what the correct structure for a collection of code should be, especially where the project is essentially an R&D effort (for which read: you haven't personally built such a system before1). So don't bother; instead, ...


10

The differences are outlined here: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express Essentially, some refactoring has been removed, the Express editions are language-specific (i.e. Visual C# Express), and the Express edition does not allow you to use third-party add-ins. These things shouldn't bother you too much if you just want to develop ...


10

I think that in a way you are partly asking yourself the wrong question. Is the code readable? Can you understand what it is supposed to be doing at a glance? Code formatting is something that allows people who are unfamiliar with your code to feel comfortable. In some ways this is a good thing, that you might look at someone else's code and have it feel ...


9

At the beginning of each day, I have a text file called Todays Goals.txt, and then each day, I add the date like this. Friday 02/25/2011 Goals Then I write down each project I am working on, and what I have to get done today, or to complete it. Then at the end of the day, I write down stuff to be done tomorrow. This daily process helps me remember ...


9

Don't make things more complicated than you have to. I think you could pretty easily use Mercurial with windows shared folders and it would work well enough. For the remote developer use a VPN or SSH tunneling.


9

I don't know about deals for open-source-contributors FROM Microsoft, but I know there is VS express for free and the free license for VS-PRO using sparks dreams website for college students as well. If you are using the sparkdream option, make sure you read the legal conditions for using VS-pro for free. https://www.dreamspark.com/default.aspx ...


9

Why do you need to "see anything"? You should just use asserts to validate the test has worked correctly.


9

Disclaimer: I work in both languages (and a few more) on a daily basis. When I was studying CompSci at University (studying Comp Sci & Games Development), the curriculum they used taught us C# in the first year (to get the basics of CompSci and Software Development), we moved onto C++ in the second year (so that we could study, what you are calling ...


8


8

Because they think they can assemble things together without any understanding about how anything actually works. It's a cultural thing. BSD and Linux foster a culture where you have to understand the system well. Thus programmers who are involved with a *nix system tend to be more competent than programmers who worked with systems and languages that are ...


8

it's simple: drag and drop when it works, hand-code when it doesn't it's not an either-or situation!


8

Basically I never forget what I am working on. Visual studio pops open at the last file you were working on anyhow, or, I never close down Visual Studio at all and just hibernate. I place NotImplementedExceptions at abstractions/implementations that aren't necessarily important to continue developing what I was working on. I do place a lot of TODO's in my ...



Only top voted, non community-wiki answers of a minimum length are eligible