Jak szybciej pisać kod w Visual Studio? [zamknięte]

Za każdym razem, gdy rozpoczynam nowy projekt oprogramowania, spędzam sporo czasu na początku rysując diagramy klas i inne schematy blokowe, aby zaplanować, jak widzę, że aplikacja działa. Ta część wymaga dużo myślenia i testowania. Ale w pewnym momencie, kiedy wszystko jest zaplanowane, nie muszę już o tym tyle myśleć, po prostu muszę to zakodować.

IntelliSense jest zdecydowanie darem niebios, podobnie jak możliwość generowania kodu z niego automatycznie, naciskając klawisz TAB. Ale teraz zastanawiam się: jakie są inne techniki lub narzędzia, których ludzie używają, aby uzyskać kod w głowie do ekranu tak szybko, jak to możliwe?

Author: Peter Mortensen, 2010-01-26

15 answers

  1. Jak wszyscy inni wspomnieli, użyj Resharper lub równoważny.

  2. Poznaj skróty klawiaturowe i korzystaj z nich. Prawie każda operacja, którą możesz wykonać w VS, ma odpowiednik klawiatury, a im więcej z nich wiesz, tym mniej czasu będziesz spędzał na grzebaniu w menu. Jest to równie ważne w przypadku korzystania z Resharper.

  3. Zwróć uwagę na wszystko, na co musisz czekać. Czekasz na ukończenie budowy? Usuń projekty, które nie działają od rozwiązania i odwołaj się do ich zestawów. Zawsze możesz je dodać z powrotem, jeśli zajdzie taka potrzeba. Czekasz na testy jednostkowe? Może uda Ci się podzielić testy na zestaw, który uruchamiasz kilka razy dziennie i zestaw, który uruchamiasz przed każdą odprawą. Czekasz na uruchomienie aplikacji za każdym razem, gdy ją testujesz? Być może możesz zdefiniować konfigurację kompilacji, która wyklucza kod startowy, którego funkcjonalność nie jest zaangażowana w to, nad czym pracujesz teraz.

  4. Pobierz dysk SSD i umieść na nim swój system operacyjny i narzędzia programistyczne. Umieść więcej pamięci w swojej maszynie.

  5. Prosta wskazówka dotycząca radzenia sobie z nudą edytowania kodu, który kopiujesz i wklejasz: nie kopiuj i wklejaj kodu. jestem pewien, że istnieją okoliczności, w których kopiowanie i wklejanie kodu jest dopuszczalne, a nawet konieczne, ale jeśli jest to częścią Twojego codziennego obiegu pracy, musisz przestać to robić i naprawić. Nawet bym nie wspomniał gdyby więcej niż jedna osoba tego nie zasugerowała.

 8
Author: Robert Rossney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 21:17:24

Uzyskuję dużą produktywność z Resharper - jest to szczególnie przydatne, jeśli nauczysz się wszystkich funkcji i skrótów klawiaturowych

 26
Author: Rob Fonseca-Ensor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 11:17:20

Nie chcę otwierać całego kodera & Refactor! / Resharper puszka robaków, ale dobrej jakości narzędzie do ponownego faktoringu, takie jak jedno z nich, prawdopodobnie bardzo by pomogło. Używam CodeRush i Refactor! przez nieco ponad rok, a czas potrzebny na napisanie solidnego i łatwego do utrzymania kodu jest teraz znacznie krótszy niż kilka lat temu.

Oczywiście, jest krzywa uczenia się, ale korzyści po zaledwie kilku tygodniach są ogromne.

 9
Author: ZombieSheep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 10:13:09

Spraw, aby twoje środowisko reagowało szybciej.

Powolny komputer, IDE, budowanie, powtarzalne zadania, które można zautomatyzować, poważnie zabijają prędkość.


Liczy się każda mała rzecz. Nawet zwiększenie Repeat rate w Panelu sterowania = > właściwości klawiatury.
 9
Author: Arnis Lapsa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 12:06:34

Możesz narysować diagramy klas / sekwencji w narzędziu do modelowania, takim jak Enterprise Architect, które może następnie wygenerować kod dla Ciebie.

 5
Author: Paolo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 10:24:14

Nie lubię być tym, który o tym mówi i nie jestem fanboyem Linuksa, ale kilka miesięcy temu próbowałem dodatku o nazwie ViEmu. Zajęło mi co najmniej miesiąc, aby wrócić do mojej zwykłej produktywności, ponieważ nauka wszystkich poleceń i jak je łańcuchować to duża prośba, ale teraz..Jestem łatwo 5-10 razy szybszy w refaktoryzacji.

To trochę trudno wyjaśnić, jak, ale masz najwięcej pracy z tego, gdy natkniesz się na zadania edycji tekstu, które są niewygodne i powtarzalne wydaje się,..powiedz, że masz 20 linijek kodu, w którym należy usunąć środkowy Wielbłąd z nazwy zmiennej. To takie rzeczy.

Link do ViEmu jest tutaj - http://www.viemu.com/

HTH

 5
Author: Stimul8d,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 10:29:16

Niestety dla mnie to tylko intellisense, chociaż mam tendencję do ponownego wiązania wielu skrótów klawiaturowych, aby pomóc. Menu kontekstowe (moja klawiatura nie ma przycisku menu kontekstowego) jest jednym z moich najczęściej używanych do dodawania referencji itp.

Nie tak dawno czytałem o 'neural headband' dla graczy. Został zaprojektowany do treningu, aby mogli myśleć "naprzód" i "ogień" zamiast naciskać w + Mouse1, i twierdził, że zwiększa czas reakcji. Wątpię, żeby to było wystarczająco wyszkolone. ale jeśli taka technologia mogłaby być użyta tak, że myślisz "zaimplementuj klasę bazową Foo i dodaj method Bar ()" i Kod jest generowany w VS, to byłoby niesamowite :) niestety jest to trochę dziwne i mogę sobie wyobrazić ,że 'kawa' jest wynikiem zbyt wielu zepsutych buildów...

 2
Author: Ian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 10:38:59

Dobre narzędzia bardzo pomagają. Szczególnie lubię Visual Assist X: http://www.wholetomato.com/

 2
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-16 08:34:48

Czy myślałeś o tworzeniu i używaniu fragmentów kodu do rzeczy, które robisz regularnie? Może to być oszczędność czasu rzeczywistego, ponieważ po prostu zrzucasz je prosto i możesz łatwo refaktorować używane w nich zmienne.

 1
Author: Ian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 10:39:42

Cóż, bez wątpienia jestem dziwakiem, ale dla aplikacji desktopowych (nie internetowych) oto, co robię. Uważam prawie każdą aplikację za tylko uwielbiony edytor. Oznacza to, że ma strukturę danych, która musi być trwała, oraz interfejs użytkownika, który pozwala użytkownikowi umieścić informacje w tej strukturze danych i uzyskać je.

Dla struktury danych, zachowaj prostotę, prostotę, prostotę. Uważam, że to tylko repozytorium informacji, z jak najmniejszą redundancją. Nie chcę budować struktury danych, która istnieje dla cel bycia widocznym przejawem podstawowych danych, takich jak kontrole drzewa, itp. ponieważ wtedy to musi być utrzymywane w zgodzie z podstawowymi danymi, a ty dostajesz się do wszystkich kwestii, jak utrzymać spójność nadmiarowych danych. (Przykład: dla Grafiki, nie buduj it, draw it.) Jeśli nie mogę uniknąć tworzenia nadmiarowej struktury danych, trzymam się jak najdalej od programowania w stylu powiadomień, które próbuje utrzymać nadmiarową strukturę danych w ścisłej zgodzie. Wynika z tego wiele problemów z buglistą i wydajnością. Wolę raczej luźne sprzężenie, gdzie pewna ilość niespójności może być tolerowana i jest zarządzana przez procesy, które uruchamiają się raz na jakiś czas w celu propogate zmian.

Jeśli chodzi o interfejs użytkownika, byłem wielkim zwolennikiem kodowania UI w stylu OOP i MVC, dopóki nie odkryłem tego w 1986 roku. Teraz jestem rozpieszczony i mogę uzyskać złożony interfejs kodowany w ułamku czasu możliwego przez zwykły styl obsługi zdarzeń sterujących i są trywialne do Modyfikuj wraz ze zmianą wymagań. Ale jak na razie jestem w towarzystwie może tylko 3 osób na świecie, które z niego korzystają, ponieważ na pewno nie jest to mainstream.
 1
Author: Mike Dunlavey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:28:33

Wydaje mi się, że widzę dwie rzeczy:

    Nie masz pełnej klawiatury. Nie polecam zakupu nowej klawiatury.
  1. możesz użyć szablonów, aby to ułatwić. Domyślam się, że musisz dużo programować, zanim zaczniesz swój projekt. Jeśli używasz szablonów, możesz utworzyć szablon zawierający wszystkie programy obsługi wyjątków, odniesienia do. NET i tak dalej. Następnie, gdy chcesz kodować, wystarczy otworzyć szablon, edytować przestrzeń nazw (która może być automatyczny) i twój dobry, aby przejść.
 0
Author: Arlen Beiler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 12:31:04

Możesz spróbować Resharper .

Inna opcja - możesz spróbować Telerika Po prostu kod .

 0
Author: Danail,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 17:44:19

Nauczyłem się dvorak układ klawiatury, który jest znacznie szybszy w języku angielskim i trochę szybciej w programowaniu. Powrót do mojej starej prędkości qwerty Zajęło mi trzy miesiące, ale wciąż się poprawiałem. Myślę, że zaoszczędziło mi to dużo czasu na dłuższą metę.

 0
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 17:51:00

Oprócz Resharper, znalazłem Hawkeye oszczędza mi ogromną ilość czasu śledzenie kodu źródłowego dla konkretnego widżetu, lub wypróbowanie właściwości i ich efektów wizualnych w czasie rzeczywistym. Gorąco polecam.

To coś jak FireBug dla bogatych klientów. NET.

 0
Author: Dave Sims,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-26 21:20:57

[[0]}przeczytaj doskonałe Zain Naboulsi "kodowanie szybciej: Visual Studio Tips & Tricks".

 0
Author: retrodrone,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-19 20:30:02