Inżynieria oprogramowania

9
Opis skomplikowanej historii na początku projektu

Staram się opanować sprawne zarządzanie projektami (dzięki Pivotal Tracker), ale wciąż próbuję zdefiniować kilka pierwszych historii projektu. Weźmy na przykład tę bardzo prostą historię: „Użytkownik powinien mieć możliwość oznaczenia produktu” Zakładając, że zdefiniowałem już „produkt” gdzie...

9
Opanowanie języka programowania bez programowania?

Informatyk Peter Norvig przekonywał w swoim eseju „ Naucz się programować za 10 lat” , że potrzebujesz około 10 000 godzin ćwiczeń. Ale Jeff Atwood przekonywał w swoim poście How To Zostań lepszym programistą, nie programując , że uważa, że jedynym sposobem, aby stać się lepszym programistą jest...

9
Uzasadnienie funkcji biblioteki C nigdy nie ustawia errno na zero

Norma C nakazuje, aby żadne funkcje biblioteki standardowej C nie były ustawione errnona zero. Dlaczego to dokładnie jest? Mogłem zrozumieć, że jest to przydatne do wywoływania kilku funkcji i sprawdzania dopiero errnopo ostatniej - na przykład: errno = 0; double x = strtod(str1, NULL); long y =...

9
Testy RSpec + Selenium dla platformy .NET w systemie Windows

Jestem programistą Railsów, który robi TDD na komputerze Mac z RSpec, Capybara i Selenium webdriver. Teraz moja firma poprosiła mnie o zastosowanie tego podejścia w środowisku .NET w środowisku Windows. Jak najlepiej to zrobić? Mogłem po prostu zainstalować Ruby i użyć RSPEC, Capybara i Selenium...

9
Makra a funkcje statyczne w nagłówku

do wielu szybkich zadań, w których można zastosować funkcję f(x,y), w zwykłym C używane są makra. Chciałbym zapytać konkretnie o te przypadki, które można rozwiązać za pomocą wywołania funkcji (tj. Makra używane do wstawiania funkcji, a nie do rozszerzania kodu dowolnego kodu). Zazwyczaj funkcje C...

9
Radzenie sobie z piramidą wywołania zwrotnego node.js

Właśnie zacząłem używać węzła i jedną z rzeczy, które szybko zauważyłem, jest szybkość wywołań zwrotnych do głupiego poziomu wcięcia: doStuff(arg1, arg2, function(err, result) { doMoreStuff(arg3, arg4, function(err, result) { doEvenMoreStuff(arg5, arg6, function(err, result) {...