Czy często drukuje się kod na papierze? [Zamknięte]


36

Lubię trzymać moje linie kodu poniżej 80 znaków, ponieważ:

  • Nie muszę przewijać w poziomie;
  • Wiem, że linia jest prawdopodobnie zbyt skomplikowana, jeśli przekroczy ten limit; i
  • ładnie drukuje się na papierze.

Jeśli chodzi o to drugie, spotkałem tylko kilka osób, które faktycznie drukują kod, aby na niego spojrzeć (jestem jednym z nich). Jak często drukuje się kod?


1
Myślę, że pytanie brzmi: dlaczego drukujesz kod na papierze?
Anon.

14
Nie mogę mówić o tym, jak często drukowany jest kod, ale jeśli drukarka nie jest reliktem z dawno zapomnianego czasu , może wydrukować więcej niż 80 znaków w wierszu. 80 znaków jest używanych do zwiększenia czytelności i historycznie, ponieważ wiele terminali miało szerokość tylko 80 kolumn, a nie z powodu drukarek.

12
@ Mark Właściwie 80 znaków pochodzi z czasów, gdy kod został zapisany na kartach perforowanych o szerokości 80 znaków. Pierwsze 6 dotyczyło kodów kontrolnych i numerów linii. Dlatego kod FORTRAN musi zaczynać się w kolumnie 7.
ChrisF

3
@Aaron - to prawdopodobnie dobre dla programistów
ChrisF

5
@Aaron - Programistów jest przeznaczony do bardziej subiektywnych (ale nadal konstruktywnych) pytań, które otaczają nasz zawód.
ChrisF

Odpowiedzi:


50

Nadal bardzo rzadko drukuję kod - ale tylko wtedy, gdy jest to szczególnie zawiły problem.

Zazwyczaj oznacza to, że kod jest zbyt skomplikowany i wymaga refaktoryzacji, więc w pierwszej kolejności napisanie czegoś pomaga w znalezieniu i rozwiązaniu problemu, a następnie pomaga ustalić, gdzie należy podzielić kod.

W idealnym świecie STAŁYCH i DRY zasad ty powinni być w stanie zobaczyć cały sposobu na jednym ekranie. Nie działamy jednak w idealnym świecie ...


4
+1 za „[trzeba zajrzeć na wydrukowany kod] zwykle wskazuje, że kod jest zbyt skomplikowany i wymaga refaktoryzacji ...”
Bill

Sprawdził się również w zrozumieniu warunków wyścigu. Wydrukuj ślady stosu i porównaj je obok siebie, rób notatki itp.
rperetti

4
@rperetti: Drukowanie rzeczy takich jak ślady stosu różni się bardzo od drukowania kodu. Nie porównuj ich jednak obok siebie - znajdź okno (rodzaj szkła, a nie Microsoft). Umieść dwa wydruki jeden na drugim na szkle, a rozbieżności będą się wyróżniać. (Oczywiście tylko w świetle dziennym).
Loren Pechtel,

5
Czy nie byłoby łatwiej po prostu porównać je z narzędziem różnicowym?
Jeanne Pindar

14

Stawiasz zakład Pamiętaj jednak, że drukowanie w orientacji poziomej dozwolone 132 znaki.

alternatywny tekst

W Uni regularnie drukowałem mój kod na zielonym papierze słupkowym, niesamowite jest, jak dobrze rozumiesz, jak głęboki i zawiły jest twój kod, gdy patrzysz na niego na papierze. Jesteśmy (przynajmniej na dzień dzisiejszy) mentalnie odciśnięci z naszych dni w szkole podstawowej na czytaniu stron i ile każda strona może reprezentować. Daje dobrą metaforę złożoności kodu komputerowego.

alternatywny tekst


13

czasami może zajść potrzeba dokładnego przyjrzenia się kodowi (zwykle nowemu użytkownikowi), w którym w zasadzie trzeba dużo zobaczyć jednocześnie. W takim razie wydruk może być nieoceniony, abyś mógł obejrzeć całość jednocześnie.

W połączeniu z zakreślaczem, czerwonym i zielonym długopisem naprawdę pomaga uzyskać przegląd. Notatki, które zapisujesz na papierze, są następnie dodawane w jakiejś formie do kodu.

Uwaga: dzięki nowoczesnym drukarkom kolorowym możesz także uzyskać kolorowanie składni na papierze. To naprawdę świetna pomoc i jest wysoce zalecane.

(Drukuję również specyfikacje do czytania - czyli do umieszczania notatek na marginesie).


8
+1 Kiedy ktoś podaje mi bałagan do refaktoryzacji, zwykle drukuję go i spędzam trochę czasu w przyjemnym, słonecznym miejscu.
Sharpie

Zasadniczo, jeśli cały moduł nie zmieści się na jednym ekranie wyświetlacza, prawdopodobnie wymaga dużej przeróbki. Jest to szczególnie prawdziwe, odkąd 50-liniowy tryb VGA stał się dostępny, niespełna 20 lat temu. Powiedziałem to wcześniej i powiem to jeszcze raz: w ciągu prawie 40 lat w tej szalonej rakiecie widziałem dokładnie JEDEN (1) moduł, który musiał mieć ponad 60 linii (jedna wydrukowana strona) . (Widziałem DUŻO modułów, które były dłuższe i wszystkie one „pozostawiły wiele do życzenia”. (Uprzejma fraza).
John R. Strohm

@John, dlaczego musiało być dłuższe niż 60 linii?

@ user1249: Była to procedura torpedowania fotonów z gry „STARTRK” („Star Trek”) Matuszek-Reynolds-McGehearty-Cohen. Został napisany w FORTRAN IV. Musiał przeanalizować polecenie, zasymulować lot jednej lub trzech torped fotonowych (być może przerywających, jeśli wystąpi przerwanie zapłonu), z zaburzeniami, ORAZ ustawić stos, aby wykonać 8-kierunkową łączność gwiazd przechodzących w nowe po wyrzuceniu torpedy lub bycia przylegające do gwiazdy idącej nowej i zabijające klingonów sąsiadujących ze wspomnianymi gwiazdami. FORTRAN IV nie dokonał rekurencji i po prostu nie było sposobu, aby to uwzględnić, co nie pogorszyłoby sytuacji.
John R. Strohm,

12

Czasami drukuję go, żeby czytać w pociągu i robić notatki. Kiedy utknę, lubię rozkładać go na stole w cichej sali konferencyjnej. Nie jestem pewien, czy to naprawdę pomaga, ale to niezła zmiana tempa.

Kolejny: Znaleziono jakiś stary kod, który był wielo-zagnieżdżoną instrukcją If / Then, która nie zmieściłaby się na ekranie. Powinni byli zwolnić byłego programistę, który to napisał, ale wtedy nie miałbym pracy;)


4
+1 za zmianę sceny. Czasami samo spojrzenie na coś w innym kontekście powoduje, że myślisz o tym inaczej.
Jon Hopkins

3
+1 Możesz umieścić więcej stron obok siebie na dużym stole konferencyjnym niż na ekranie komputera. I nie rozprasza Cię Twitter ani e
Alex Jasmin

1
Jeśli rozprasza Cię Twitter lub e-mail - robisz to źle. Poczta e-mail, a także Twitter i różne inne wiadomości są asynchroniczne. Nie musisz odpowiadać jak najszybciej.
2013 r. O

8

Drukuję kod tylko po to, aby dokonać przeglądu kodu. Robienie recenzji offline jest moim zdaniem bardziej wydajne niż robienie tego na komputerze ze wszystkimi niepokojącymi (choć czasem pomocnymi) rzeczami IDE.

Jeśli masz jeden (lub dwa lub więcej) dość szerokie monitory, możesz łatwo otworzyć dwa pliki źródłowe podzielone pionowo w trybie pełnoekranowym i nie musisz przestrzegać zbyt restrykcyjnych przepisów dotyczących szerokości linii.

W niektórych przypadkach nie muszę widzieć całej zawartości linii (tj. Linii drukujących komunikaty debugowania itp.) I dlatego nie ma znaczenia, czy linia jest pocięta po prawej stronie.

Ale żeby odpowiedzieć na twoje pytanie: moim zdaniem drukowanie kodu na papierze nie jest już tak powszechne.


8

Cóż, teraz rzadko drukuję kod na papierze, ale robiłem to cały czas w ciągu dnia.

Zazwyczaj w dzisiejszych czasach siedzą w cichym miejscu i wyjaśniają kod młodszemu, lub jeśli długa metoda jest naprawdę błędna i wymaga bardzo długiego pisania i pracy papierkowej. Ekrany nie zawsze wystarczają, zwłaszcza gdy chcesz mieć notatki i wyróżnienia wszędzie.

Prawie zawsze trzymam limit 80 znaków, ponieważ jestem skłonny szybko naprawiać błędy za pośrednictwem SSH w sytuacjach awaryjnych i nie lubię mieć szerokich terminali. Również przewijanie w poziomie jest diabłem.


5
+1 „przewijanie w poziomie to diabeł”. Właśnie mówiłem komuś dokładnie to samo w zeszłym tygodniu.
morganpdx

8

Kiedy byłem nastolatkiem uczęszczającym do szkoły średniej (teraz 21 lat), nie miałem połączenia z Internetem w domu. Dlatego często drukowałem próbki kodu i różne dokumenty API, aby zabrać je ze sobą do domu.

Uwaga dodatkowa: niesamowite jest, o ile więcej pracy możesz wykonać bez połączenia z Internetem, pod warunkiem, że masz już potrzebne informacje.


6

Nigdy nie wydrukowałem swojego kodu źródłowego. Nigdy nie musiałem tego robić. Jedyny kod źródłowy, który widziałem poza ekranem komputera, to książki.

Użyłem moich drukarek do czegoś innego.

alternatywny tekst


1
Teraz czuję się stary: D
wildpeaks

Jako osoba, która urodziła się po tym oprogramowaniu, fajnie było patrzeć w górę.
Naltroc,

5

Drukuję kod, gdy oba monitory są wypełnione i muszę ciągle coś odnosić. Arkusz papieru na biurku to kiepska obsługa dodatkowego monitora.


Umieść go na monitorze nr 3!
Loren Pechtel

4

Jak często drukuje się kod?

Było to powszechne wiele lat temu w czasach programowania DOS, 80 znaków dokładnie wypełniało wydrukowaną stronę. Mieliśmy wtedy drukarki matrycowe, więc ograniczenie było prawdopodobnie po stronie sprzętowej. Był to również limit na ekranie konsoli.

W dzisiejszych czasach ludzie prawie nie drukują kodu, jedynym wyjątkiem są małe fragmenty kodu drukowane jako przykłady testowe na rozmowy kwalifikacyjne.

Obecnie ludzie pracują głównie z dużymi monitorami, Full HD i więcej. Zazwyczaj rozciągam się do 150-200 znaków, nie myśląc o żadnych efektach ubocznych drukowania.

Kiedy przychodzi pora na dyskusję w zespole, zwykle ktoś chwyta laptopa i podłącza go do projektora. Znów nikt nie drukuje kodu.

Ostatni raz drukowałem kod około 8 lat temu na mój dyplom uniwersytecki, którego jestem prawie pewien, że nikt go nie przeczytał - mam na myśli kod :-). Odtąd nigdy nie musiałem.


Minęło wiele lat, odkąd wydrukowałem kod inny niż na stronie internetowej. Nie zgadzam się jednak z twoją długością linii - nawet jeśli możesz dostać tyle, trudno jest to zrobić. Rzadko
mijam

@Loren Pechtel: Rzecz w tym, że lubię długie opisowe nazwy metod i zmiennych. Mając tylko 80 znaków, starałbym się, aby był kompaktowy i odpowiednio sformatowany. Oczywiście to tylko moja sprawa.

Czy programowałeś DOS na konsoli CRT? Mieliśmy karty uderzeniowe. Limit 80 znaków był wynikiem kart ciosów. Możliwość nauki kodu na 3 lub 4 stronach jednocześnie jest bardzo przydatna. Chyba dlatego nadal wolę wydruki. Łatwiej jest poruszać się między powiązanymi funkcjami.
Huperniketes 11.01.11

Lubię też długie nazwiska - dlatego czasami kończę na 100 postaciach.
Loren Pechtel

4

Kod drukarski stał się przestarzały gdzieś w latach 1975–1982, z wyjątkiem szczególnych powodów:

  • kod do odczytania podczas dojazdy
  • stary kod, który wchodzi w specyfikację nowego projektu, który go zastąpi
  • radzić sobie z rażącymi błędami; bezpieczniej jest uderzać współpracownika stosem papieru niż monitorem

1
Pummeling jest niedoceniany.
Keith Layne

3

Nasi prawnicy ds. Własności intelektualnej wymagają „kopii papierowej” w celu zgłoszenia praw autorskich.

Nie wiem, czy faktycznie drukują to na papierze. Przesyłam im plik PDF, który można wydrukować lub dołączyć do akt praw autorskich.


3

Nigdy więcej. Robiłem to cały czas w dniach poprzedzających IDE, kiedy matryca punktowa z ciągłym zasilaniem była normą. Możesz rozłożyć te wydruki i dość łatwo je przeglądać. Nowoczesne drukarki laserowe / atramentowe z podajnikiem arkuszy to ogromny krok wstecz. Zszywanie ich razem również nie spływa, a brak zszywania powoduje powstanie luźnych arkuszy, które się pomieszają. Nowoczesne IDE z automatycznym podświetlaniem i nawigatorami metod eliminują również całe klasy błędów wykrytych podczas badania wydruków.


2

Czasami drukuję mój kod, ponieważ jestem na niewielkim (15 ") pojedynczym monitorze. Czasami muszę łączyć dwa programy i bardzo trudno jest przełączać się między nimi. Nie robię tego jednak często, tylko w razie potrzeby .


Podwójne monitory! ;)
Pemdas,

@Pemdas I wish, lol.
niesamowite

Używam 15 "w domu z powodu braku miejsca na biurku.
Orbling

2

Od czasu do czasu drukuję swój kod na papierze i tylko wtedy, gdy chcę przeprowadzić poważne debugowanie offline lub zapoznać się z kodem innej osoby - więc warto zrobić to tylko z grzeczności.

Ponadto prawdopodobnie byłbym bardziej skłonny wydrukować schemat bazy danych na papierze niż kod.

Myślę, że problem z przewijaniem w poziomie jest większą irytacją i powodem, aby trzymać mniej niż 120 znaków.


W rzeczywistości 80 znaków jest nadal dobrym wskaźnikiem problemu z przewijaniem w poziomie. Programiści często mają dwa panele źródłowe, a nawet w mojej rozdzielczości 1680 mogę uzyskać tylko 107 znaków, zanim będę musiał przewijać, gdy mam dwa panele obok siebie. Wolę też, jeśli kod nie idzie całkowicie na odpowiedni margines.
Craige,

1
@Craige trochę zależy od rozmiaru czcionki i DPI, a także od ilości śmieci, które masz po obu stronach ekranu (jeśli jesteś w IDE). Z tego powodu zacząłem używać XTerm zamiast standardowego Gnome Terminal podczas kodowania przez SSH - nie dlatego, że nie mogłem po prostu zmienić czcionki.
Peter Turner,

@Petur Turner - to prawda, ale moje środowisko Eclipse jest skonfigurowane w sposób minimalizujący zmarnowane miejsce, gdy muszę przejść do kodowania. Po lewej i prawej stronie moich redaktorów prawie nie ma zmarnowanego miejsca. Rozmiar czcionki jest również dość standardowy. Chodzi o - 80 znaków jest dobrą długością docelową, aby źródło było czytelne w najbardziej różnorodnych warunkach.
Craige,

2

Wydrukuję tylko kod dołączony do artykułu naukowego. Ponieważ ten kod często zapewnia implementację algorytmu (powiedziałbym, że jest to skomplikowany proces) i potrzeba kilku godzin na jego przetworzenie.
Wątpię, czy wydrukowałbym kod zawierający instrukcje SQL lub programowanie GUI.


2

Czasami drukuję kod, aby spróbować zrozumieć drażliwe problemy z wieloma stronami.


+1 Sprawia, że ​​żałuję, że wciąż nie ma drukarki igłowej z niekończącymi się papierowymi wierszami.
Peter Turner,

z naprzemiennymi zielonymi i brązowymi liniami? Ale tak wolno !!!
Christopher Mahan

2

Prawie nigdy

Naprawdę trudno mi było zapamiętać czas, kiedy albo drukowałem kod, albo widziałem wydrukowany kod. I mogę szczerze powiedzieć, że nie pamiętam ani razu (z wyjątkiem kodu pseudo).

Nie sugeruję, że nie ma uzasadnionych powodów, aby wydrukować kod.


2

Łatwiej jest mi rozszyfrować duże moduły, jeśli mogę je wydrukować i szybko zobaczyć różne sekcje. Prawdopodobnie mógłbym zrobić coś podobnego z wieloma monitorami, ale jeśli mam więcej niż 2-3 miejsca w kodzie do obejrzenia, szybciej jest mieć wszystko rozłożone w jednym miejscu niż przewijać i śledzić zakładki. Lubię też oznaczać wydruki zmianami, a nie wprowadzać je w edytorze, ponieważ widzę stary kod i nowy kod obok siebie. Jasne, mógłbym skomentować stary kod w edytorze, ale jeśli zamieniasz więcej niż kilka wierszy, kończy się przewijanie starego kodu z monitora, więc nie lepiej.

To powiedziawszy, prawie nigdy nie drukuję już kodu. Świetnie sprawdzało się na składanym papierze, gdzie cała lista była ciągła, a na marginesach było dużo miejsca na notatki, ale drukowanie wszystkiego na pojedynczych stronach formatu Letter jest prawie tak samo złe, jak pozostawianie go na ekranie. Zwłaszcza, gdy Twój edytor nalega na umieszczenie nagłówków i stopek na marginesach 1 ". Na szczęście nowoczesne IDE oferują wiele narzędzi, które zmniejszają potrzebę drukowania.


1

Nie drukuję niczego dla siebie i drukuję dla innych tylko wtedy, gdy nie mogę się z tego wydostać. Nienawidzę także otrzymywania wydruków. Zaśmiecają moje biurko, a potem jestem za nie odpowiedzialny (zapisz to? Zrób to? Zniszcz to? Użyj go jako złomu?)

Pamiętaj, że pracuję w pobliżu kogoś, kto zajmuje się kodowaniem komputerów mainframe od kilku dziesięcioleci i ma obok siebie stos wydruków kodu.

Rób to, co dla ciebie działa. Po prostu nie opuścić swoje wydruki na moim biurku, dziękuję.


1

Nieco inna odpowiedź na powyższe.

Jestem studentem i okazuje się, że drukuję kod dla różnych podręczników, ale nie dla każdej jednostki, w której muszę pisać kod.

W moim pierwszym roku większość jednostek wymagała wydrukowania oprócz elektronicznego przesyłania lub kopii wypalonej na CD (tak, CD na plik zip 5 Mb ...) [Wybór wykładowcy]

Obecnie jestem na drugim roku i do tej pory mieliśmy tylko jedno przesyłanie elektroniczne i jedno wydanie Hardcopy + CD.

Biorąc pod uwagę, że mamy Moodle, który pozwala na elektroniczne przesyłanie zajęć, to dlaczego nie zawsze przesyłamy kod, jest poza mną - musimy zapłacić, aby wydrukować rzeczy na drukarkach uniwersyteckich, a na żadnym komputerze nie ma żadnej nagrywarki CD o których wiem. Oczywiście wykładowcy nie lubią Moodle - ale to zupełnie inne pytanie.

BTW, jestem studentem uniwersytetu w Wielkiej Brytanii, a nie małym, nieznanym. Mój był w pierwszej dziesiątce Uni według The Times / Guardian, kiedy ostatnio patrzyłem.


To przypomina mi projekt, który zrealizowałem na uniwersytecie, w którym wymagany był pisemny raport. Musiał mieścić się w obrębie 10 stron, a kod musiał zostać dołączony jako załącznik, ponieważ wykładowca lubił patrzeć na kod podczas czytania raportu. Na szczęście dodatek nie wliczał się do całkowitej liczby stron. Tak więc wykładowca otrzymał 90-stronicowy plik PDF. Nie wiem, czy rzeczywiście wydrukował dokument. ^^
gablin 11.01.11

1

Nowe narzędzia wspierają mnie lepiej i pozwalają na szybką nawigację, a także zapewniają wiele rodzajów podsumowań i widoków. Dlatego nie drukuję tak często jak wcześniej. Ale sekwencyjne czytanie wydruków jest nadal łatwiejsze. Mój osobisty główny powód do drukowania ma charakter psychologiczny: uniemożliwia mi to kontynuowanie wyszukiwania i podczas drukowania drukarki zaczynam myśleć! Nie należy również lekceważyć korzystnego efektu wstawania i chodzenia do drukarki :)


0

Drukuję kod, aby móc wykonać porównanie obok siebie (moje monitory w pracy nie są szerokoekranowe). W domu mam szeroki ekran, dzięki czemu mogę wygodnie przeglądać dwa dokumenty obok siebie.


0

W czasach, gdy przepisy USA nie zezwalały na eksport silnej kryptografii, amerykańscy programiści open source używali do drukowania kodu i wysyłania ich pocztą elektroniczną poza USA, gdzie skanowali je wolontariusze. Ale nie jestem pewien, czy to odpowiada na twoje pytanie;)


0

Od czasu do czasu drukuję owłosiony kod, aby go rozgryźć. Wydrukowałem również demontaż podczas debugowania czegoś „dziwnego”.


0

Podczas mojej ostatniej pracy drukowałem kod do recenzji kodu. Fajnie jest móc podświetlić / oznaczyć trochę kodu, siedząc siedząc i przeglądając kod, dzięki czemu masz dobre odniesienie do wszelkich problemów, które pojawiły się podczas recenzji.

Ponadto, kiedy musiałem przeformułować (w końcu było to ponowne pisanie) szczególnie sękatego i pokręconego fragmentu kodu, wydrukowałem kod źródłowy, przykleiłem wydruki do ściany, a następnie użyłem kawałków łańcucha, aby pokazać, jak logika została utkana razem.


0

W dzisiejszych czasach nigdy. Mam wsparcie wielu monitorów, jeśli muszę odwoływać się do szczególnie trudnego kodu. Nowoczesne dyski twarde nie będą mrugać, przechowując kod o długości nawet kilku tysięcy linii. Drukowanie kodu IMHO jest marnotrawstwem i generalnie bezużyteczne, ale to tylko ja.

To powiedziawszy, kiedy uczyłem się programowania / programowania, nie myślałem o drukowaniu 20 stron kodu, więc przypuszczam, że może być na to czas i miejsce, ale po prostu uważam, że w dzisiejszych czasach nie ma z tego wiele pożytku.


0

Cały czas drukuję mój kod, ale tylko dlatego, że jestem studentem, który musi to zrobić, aby przekazać go instruktorowi.

Ponieważ mam dostęp do wielu monitorów ( jak każdy dobry programista ), nie miałem wielu sytuacji, w których muszę wydrukować kod źródłowy w celach informacyjnych. Kiedyś wydrukowałem jeden ze skryptów, których użyłem do wypełnienia bazy danych, dzięki czemu mogę zobaczyć schemat na pierwszy rzut oka, ale wydaje się, że nie używam go zbyt często.


0

Zwykle drukowałem kod dość często, ale teraz robię to mniej, ponieważ mam wiele monitorów na biurku - często trzymam jedną część wykazu, który używam jako odniesienie na prawym monitorze (co jest nieco nie tak z boku) i moja obecna praca przede mną.

Jeśli drukuję odę, prawie zawsze jest to kod od kogoś lub innej biblioteki (biblioteki), który chcę studiować i muszę przewracać strony w tę iz powrotem.

Prawie zawsze drukuję kod w trybie poziomym, ze względu na tendencję do używania długich linii.


0

W ciągu ostatnich 10 lat przypominam sobie tylko wydrukowanie kodu, więc mogę użyć na nim pisaków, aby oznaczyć sekcje, które mają coś wspólnego, przed zaplanowaniem zmiany kodu.

Czasami jednak brakuje mi możliwości drukowania na szerokim, ciągłym papierze, ponieważ układanie kodu na podłodze może dać dobry przegląd, głównie wraz z kolorowymi pisakami i notatkami pocztowymi. Pager z wydrukiem A4 nie jest lepszy od tego, co daje rozsądny monitor.

Monitory są znacznie lepsze i większe, podczas gdy drukarki mają gorsze kody niż kiedyś.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.