Uczę się programowania iOS na kursie iTunes U CS193p i często utknąłem. Sam próbowałem się oderwać, ale może zająć mi wiele godzin, aby dowiedzieć się, co robię źle, czy to z powodu braku metody, czy też niezrozumienia całej koncepcji, takiej jak delegacja.
Martwię się, że mógłbym marnować zbyt dużo czasu i lepiej byłoby przejść do Przepełnienia stosu wkrótce po tym, jak utknę, aby móc przejść dalej.
Czy według ciebie szybkie pytanie o przepełnienie stosu utrudnia proces uczenia się, czy go usprawnia?
productivity
education
MaxGabriel
źródło
źródło
Odpowiedzi:
Kiedy pracuję z nowymi programistami, zachęcam ich do zadawania pytań po pięciu lub dziesięciu minutach, gdy nie robią postępów.
Ma to dwie zalety: pierwsza polega na tym, że mogą uzyskać pomoc bez zbytniego czasu poświęcanego na gapienie się na problem, ale pytają tylko wtedy, gdy gdzieś się nie dostają. Jeśli się uczą - nawet na czymś, co nie jest ostatecznie odpowiedzią - znacznie chętniej zachowają tę informację.
Po drugie, po upływie tak długiego czasu muszą wyjaśnić problem komuś innemu. To rozwiązuje ogromną część problemów, ponieważ przejście od końca do końca w celu oznacza, że możesz dostrzec to, co przegapiłeś we wcześniejszej pracy.
Ponieważ brzmi to tak, jakbyś robił to sam, spróbuj zwrócić się do wypchanej zabawki, zegara lub ściany i zapytać o problem. Wyjaśnij to tak, jak robisz to osobie i sprawdź, czy to rozwiązuje problem.
Jeśli tak się nie stanie, a ty nie robisz postępów, zapytaj kogoś. Poświęcenie więcej niż pięciu lub dziesięciu minut to strata czasu - chyba że pójdziesz dalej, aby zrobić coś innego, to powróć do problemu ze świeżym umysłem.
źródło
Mój jedyny dodatek do świetnych odpowiedzi innych:
PODKŁADANIE pytania w interfejsie pytań StackOverflow to świetny sposób, aby upewnić się, że w pełni je przemyślisz. Nie mogę zacząć mówić, ile pytań sam sobie odpowiedziałem, układając je na tyle jasno, aby właściwie zadać. Pytania, które zacząłem i nie przesłałem OGROMNIE, przewyższają te, które faktycznie zadałem.
Więc powiedziałbym, śmiało i pytaj (po przeszukaniu, oczywiście), po prostu nie przywiązuj się do faktycznego klikania „Prześlij”.
źródło
Przepełnienie stosu i każda inna witryna stosu wymiany ma zestaw wskazówek dotyczących zadawania pytań :
„Odrób pracę domową” oznacza, że nie powinieneś zbyt szybko pytać. „Bądź konkretny” oznacza, że rozumiesz dziedzinę swojego problemu na tyle dobrze, aby zwięźle go zarysować. Jeśli nie, obowiązuje „odrób zadanie domowe”. „Zachowaj otwarty umysł” oznacza, że powinieneś być gotowy do poszukiwania rozwiązań, które według ciebie nie byłyby odpowiednie dla twojego problemu.
Więc nie chodzi o pytanie o przepełnienie stosu, ale o to, czy twoje pytania są dobre. Zasadniczo wymagany wysiłek jest sam w sobie doświadczeniem uczenia się. Jeśli zrobisz to dobrze, prawdopodobnie nauczysz się kilku nowych rzeczy, szukając duplikatów. Jeśli nie, wyślij mi ping, mam kilka wolnych głosów. : P
źródło
Osobiście, kiedy zaczynałem programować, spędziłem dużo czasu próbując to rozgryźć. Mógłbym spędzać godziny próbując coś naprawić. Nie uważam tych godzin za nieproduktywne, w tych godzinach nauczyłem się, jak szukać rzeczy w Internecie i naprawdę zyskałem wgląd w działanie mojego języka programowania. Więc myślę, że zbyt szybkie pytanie o SO pozbawia cię uczenia się. Wejście w programowanie zajmuje bardzo dużo czasu.
Następnie pojawia się pytanie, jak szybko zapytać, powiedziałbym, że spędzenie kilku godzin na konkretnym problemie nie jest długie (zauważ, że pochodzę ze środowisk akademickich, być może w środowiskach komercyjnych jest to mniej akceptowane).
A kiedy zadajesz pytanie dotyczące SO, poświęć czas na pytanie:
To tylko kilka punktów. Inwestując czas w pytanie, które szanujesz ludzi na SO, wykorzystujesz ich czas za darmo. Co ważniejsze, układasz swój problem. To może już rozwiązać Twój problem :).
Tylko moje 2 ct ...
źródło
Uważam, że ważną rzeczą jest tutaj, aby naprawdę zrozumieć, na czym utknąłeś i spróbować dotrzeć do głównego problemu. Po tym, jak naprawdę zrootujesz się do prawdziwego problemu, użycie Przepełnienia stosu jest jedną z pierwszych rzeczy, które robię.
Ale to nie jest pytanie.
Przeszukuje wszystkie świetne odpowiedzi. Szanse są tym, że masz problem, który miał teraz ktoś inny, który już zadał twoje pytanie. Jeśli czujesz się zmuszony do korzystania z funkcji Przepełnienie stosu, pamiętaj, że nie jest to tylko strona, na której możesz zadać pytanie, kiedy jesteś zakłopotany. Jest to również repozytorium naprawdę świetnych informacji na temat programowania komputerów; użyj funkcji wyszukiwania.
Jeśli przeszukałeś kilka różnych haseł / słów kluczowych i nadal masz zero, odrabiałeś pracę domową i masz próbki kodu, które możesz pochwalić i jesteś pewien, że twoje pytanie nie jest tak naprawdę duplikatem , to na pewno zapytaj twoje pytanie na temat przepełnienia stosu. To jest strona, którą ostatnio sprawdziłem.
źródło
Jest to całkowicie subiektywne, ale oto moje podstawowe zasady użytkowania.
1) Czy mój dom się pali? Oczywiście nie dosłownie, ale czy jest to problem, który wymaga nie tylko natychmiastowego rozwiązania, ale także rozwiązania awaryjnego. Jeśli tak, zrób sobie z tego pęknięcie, szybko zawieść, uzyskaj najlepszą możliwą pomoc.
2) Czy to coś, co mogę zbadać? Jeśli jest to coś, w czym mam czas i można je zbadać, pójdę tą drogą, a to obejmuje SO jako darmowy zasób. SO jest świetne, podobnie jak Wiki, podobnie jak pozostałe dziesiątki zasobów.
Czytaj dużo, pomaga ci zrozumieć, kiedy istnieją różne podejścia do problemu, ale najpierw poświęć czas na sprawdzenie, czy twoja wiedza może zostać ponownie zastosowana do problemu, a następnie zbudowałeś sobie nowe narzędzie mentalne.
3) Czy jest to coś, co wykracza poza moje umiejętności / jest tak niejasne, że prawdopodobnie 100 osób to widziało? To się zdarza i zdarza się często. Zasadniczo spróbuję badań przez godzinę lub dwie, a następnie udam się tutaj lub do innych zasobów.
Wiem, że bardziej szlachetnie jest siedzieć, prowadzić badania i spędzać czas, ale często mamy ograniczenia czasowe i korzystasz z każdego dostępnego zasobu, nawet jeśli wydaje ci się, że oszukujesz system.
źródło
„Jak szybko” z natury będzie subiektywne. Wszyscy będą mieli nieco inne zdanie.
Jeśli nie możesz znaleźć przyczyny problemu w ciągu około 5 minut od zapoznania się z rzeczywistym kodem, wybrałbym go przynajmniej Google. Jeśli dobre wyszukiwanie nie ma odpowiedzi, zacznę pisać twoje pytanie na SO.
Pamiętaj, że nie można w rzeczywistości zamieszczać tego pytania; zdarzały się chwile, gdy pytanie zadawano słowami, rozwiązanie się przedstawiało, a ja nie musiałem wam go przedstawiać.
źródło
Możesz napisać swoje pytanie wcześniej, ale nie powinieneś go zamieszczać, dopóki nie zbadasz źródła problemu. Napisz rzeczy, które wyeliminowałeś i jak je wyeliminowałeś. Powinieneś również sprawdzić inne podobne pytania, a jeśli naprawdę chcesz opublikować swoje pytanie, wyjaśnij, dlaczego to nie jest to samo pytanie.
Jeśli zrobisz to poprawnie, przekonasz się, że wiele razy rozwiążesz swój problem.
źródło