4 ms·
If you're really spending 90% on Google, and 10% writing code, then you're doing it wrong. At least a good 30% of your time should involve reading code. In any
by kosinus 13y ago
If you're really spending 90% on Google, and 10% writing code, then you're doing it wrong.
At least a good 30% of your time should involve reading code. In any framework.
That said, AngularJS' code is magic in places. The magic is contained within small modules, or at least as small as those can get for what they're supposed to do.
But documentation is only enough to get you started. In any framework.
(And in my experience, proprietary frameworks and APIs always involve lots of email back and forth.)
- gkoberger 13y agoI was of course generalizing -- by "Googling", I meant everything from reading StackOverflow to browsing GitHub to looking at the docs. That being said, I'm not quite sure where that 30% figure comes from. Whose code am I reading? Why am I reading it? Angular isn't your run-of-the-mill framework. They've reimagined almost everything. That's fine (and for the most part, I like what they've done) -- but documentation is incredibly important.
- kosinus 13y agoAngularJS code. I regularly dive in whenever I run into an obstacle. The 30% figure is a wild guess, and may sound a bit large, but I certainly spend a lot of time reading other people's code. Or even rereading my own code. Docs can be improved, absolutely, but there's no framework where I didn't feel that way about documentation. I don't think I've worked with any framework for more than an hour without looking at its code.
- yeukhon 13y ago> At least a good 30% of your time should involve reading code. In any framework. Understand that not every developer has a good knowledge of these frameworks. Understanding the DOM, browser-specific JS stuff are not piece of cake. Hence documentation is super crucial to have. This is like asking every developers to read Linux kernel video driver when their video driver crashed.
- kosinus 13y agoSo you're learning a lot more than just AngularJS, then, and attributing the problems you run into along the way to AngularJS. Maybe AngularJS is hard to grasp if you're not already familiar with the DOM, compared to other frameworks. I wouldn't know, to be honest. Your video driver example is not a good comparison, in my opinion. You're comparing developers to users. If a developer triggers a bug in a video driver through some specific OpenGL calls, he will certainly try to develop an understanding. (The bad part about video drivers is that the maintainers of proprietary ones are hard to reach. But Valve is doing it, I guess because they have contacts.)
- yeukhon 13y agoYou understand a lot of people using Linux are developers. That comparison is not so bad. Yesterday I was playing counter strike and an error popped. I did a quick search and I could have fix the file in place but instead I just use built-in feature to fix the error. As a developer, I rather have someone to deal with that problem if I had the choice. Learning Angular.js internal is not interesting to most of us. Sorry. We are users too. We are developers but we don't want to develop angular.js because we don't have time and we don't have the experience dealing with DOM and browser. I know this sounds harsh but in an open source world developers are users too. Documentation is the the emergency call to developers. IRC is not always helpful and most of the time core developers are not available to talk. Imagine someone from India asking help while East Coast is sleeping. Here: https://github.com/angular/angular.js/issues/3753 https://github.com/angular/angular.js/issues/3753 I don't even know where to start. This is quite browser specific.
- kosinus 13y agoYou misunderstand. I don't expect a Linux user to understand video driver internals. But I do expect a developer using OpenGL to have some grasp of the situation once he runs into a problem. I strongly urge you to learn and understand the tools you are using. It's what makes all the difference between a good developer and a great developer. There's nothing wrong with the issue you reported. Nobody is asking you to send patches. (Though that would be nice.) But you've already added a small test case, so that's excellent. There are always things you can do to get a better understanding. For example, take AngularJS out of the equation. Turns out, you can add options to a select element and everything's fine. Only once you set the select value, does Firefox flip the highlighted item.
- collyw 13y agoWhy? I use Django on the server side, the documentation is superb (compared to Angular's). I hardly ever need to dig inside the code, unless I want to do something quite special. I have a good idea of how the framework works, what pieces fit together where, but I never feel the need to go in and read the code for it. And what about proprietary software? I am sure there are plenty of frameworks where you can't get to look at the code.
- kosinus 13y agoBetween frameworks like Ruby on Rails, Node.js, AngularJS and smaller libraries like Backbone.js, jQuery, and jQuery UI, I've relied more on code for all of them. Documentation has only ever helped me to get started, and as a quick reference. But do anything significant, and thorough understanding is simply a must; something I can only find in code. I also do a good amount of work with the Twitter and Facebook APIs, and in my spare time work on a fairly complex Cocoa project. Working with all of these is a whole lot of poking at interfaces until they do what I want. These all have tons of documentation, but they'll never be pleasant for me to work with.