Dlaczego nie należy zamieszczać kodu w postaci obrazków

37

Treść przetłumaczona z Why not upload images of code/errors when asking a question? on meta.stackoverflow.com.

Nie powinno się zamieszczać kodu (lub błędów/wyjątków/wiadomości, plików logów/konfiguracji/projektu, lub czegokolwiek co może być reprezentowane w postaci tekstowej) jako obrazów ponieważ:

  • kod lub przykład nie może być skopiowany i wklejony do edytora, a potem skompilowany by reprodukować problem.
  • obrazki są duże trudne w czytaniu na urządzeniach mobilnych
  • obrazki są dużo większe od tekstu, a czasem koszt transmisji jest duży lub limitowany
  • obrazki są często blokowane przez korporacyjne serwery proxy, przez co wielu profesjonalistów nie będzie w stanie ich zobaczyć.
  • obrazki nie mogą być przeszukiwane ergo nie są użyteczne dla przyszłych czytelników i wyszukiwarek.
  • obrazki są trudniejsze w czytaniu niż tekst
  • moderator nie może poprawić formatowanie twojego kodu
  • to ty prosisz o pomoc, by inni poświęcili swój wolny czas, by rozwiązać twój problem, więc powinieneś zadbać by im to ułatwić a nie utrudnić.
  • obrazki nie mogą być oczytane przez narzędzia dla niedowidzących.
  • obrazki hostowane na innych serwerach po pewnym czasie stają się niedostępne, czyniąc pytanie bezużytecznym w przyszłości.
  • obrazki pokazują limitowaną ilość kodu. Dla średnio skomplikowanego problemu kod nie zmieści się na jednym obrazu.
  • inni nie mogą poprawić twojego pytania (na tym forum moderatorzy)
  • inni nie mogą poprawić formatowania pytania lub włączyć kolorowania składni (na tym forum moderatorzy)
  • inni nie mogą zauważyć błędów spowodowanych przez niewidoczne (białe) znaki lub przez nieprawidłowe użycie znaków Unicode (znaki które wyglądają identycznie) (przykład).

Potrzebujesz więcej powodów?

Obrazki powinny być używane jedynie jeśli są potrzebne do zilustrowania problemu:

  • jak renderuje się interfejs użytkownika
  • obraz wygenerowany przez kod
  • obraz przeznaczony do analizy (OpenCV)
  • geometryczna reprezentacja problemu, który kod ma rozwiązywać

Zamiast obrazku wklej tekst, właściwy kod bezpośrednio do pytania.

Zaznacz kod kursorem. Następnie w górnej belce nad polem edycji są opcje, wybierz przedostatnią opcję z ikonką </> i wybierz pożądany język.

Alternatywnie możesz zrobić to ręcznie poprzedzając swój kod linijką:

```cpp

cpp jest tylko przykładem dla języka C++.
Następnie za kodem umieszczając linijkę:

```

Zamień już wklejony kod we fragmentu kodu

Zaznacz fragment kodu w edytorze, i użyj kontrolki screenshot-20220508141626.png lub skrótu klawiszowego Ctrl+Alt+C, by otoczyć zaznaczenie fragmentem kodu Markdown.

0

Po wielu latach w końcu ktoś się za to zabrał :D
Chociaż... kiedyś nie było załączników, więc użytkownik nie miał wyboru i musiał lepiej ogarniać forum :]

1

to ty prosisz o pomoc, by inni poświęcili swój wolny czas, by rozwiązać twój problem, więc powinieneś zadbać by im to ułatwić a nie utrudnić.

No właśnie, to leży w interesie OP, żeby kod był czytelny i możliwy do wklejenia do edytora.

Potrzebujesz więcej powodów?

Zdecydowanie wystarczą wymienione. Przecież łatwiej jest skopiować tekst z edytora niż robić print screen, wklejać do Painta, obcinać, zapisywać, a potem dodawać jako załącznik, więc nie rozumiem, dlaczego niektórzy wstawiają kod w formie obrazka.

0

Nie powinno się zamieszczać kodu (lub błędów/wyjątków/wiadomości, plików logów/konfiguracji/projektu, lub czegokolwiek co może być reprezentowane w postaci tekstowej) jako obrazów

Gdzie zamieszczać? Np. w erze pracy zdalnej kiedy komunikator nie ma kolorowania składni a nie chcemy się łączyć czy przełączać na konkretnego brancha i/lub wczytywać go przez weba (np gitlab), to udostępnienie np. jednej metody w formie zrzutu jest całkiem ok.

5

Inicjatywa słuszna, ale wątpię, aby do pokolenie facebooka, instagrama, emoji i reszty tego badziewia dotarło, że do komunikacji służy tekst, a nie obrazki.

0

@somekind: od jakiegoś czasu na FB zamiast treści w postach są obrazki na których jest sama treść 😂
No ja rozumiem, że to może czytelniejsze, że człowiek bardziej zwróci uwagę, no ale...

3
.andy napisał(a):

Nie powinno się zamieszczać kodu (lub błędów/wyjątków/wiadomości, plików logów/konfiguracji/projektu, lub czegokolwiek co może być reprezentowane w postaci tekstowej) jako obrazów

Gdzie zamieszczać? Np. w erze pracy zdalnej kiedy komunikator nie ma kolorowania składni a nie chcemy się łączyć czy przełączać na konkretnego brancha i/lub wczytywać go przez weba (np gitlab), to udostępnienie np. jednej metody w formie zrzutu jest całkiem ok.

  1. chodzi o to forum,
  2. wątek założyłem by likować go pod pytaniami, gdzie autor załącza obrazki kodu, a nie jako zaproszenie dyskusji
  3. Wiele komunikatorów wspiera kolorowanie składni i/lub rich text (więc wklejanie z IDE kopiuje też kolorowania składni). Np MS Teams (obecnie używam).
  4. Osobiście wolę jak współpracownik wysyła czysty niesformatowany tekst niż obrazek, bo w razie potrzeby mogę .... patrz wyżej.
0

To chyba powinna byc jakas strona na wiki a nie dyskusja.

Chociaż w dzisiejszych czasach wszystko sie podważa, słyszałem nawet ze sa ludzie ktorzy z własnej woli używają TABòw.

0
vpiotr napisał(a):

Chociaż w dzisiejszych czasach wszystko sie podważa, słyszałem nawet ze sa ludzie ktorzy z własnej woli używają TABòw.

A czemu nie powinno się ich używać?

1

Tego fragmentu nie rozumiem:

błędów spowodowanych przez niewidoczne (białe) znaki lub przez znaki lub przez nieprawidłowe użycie znaków Unicode

0

@MarekR22:

chodzi o to forum,

No to się w pełni zgadzam!

Wiele komunikatorów wspiera kolorowanie składni i/lub rich text (więc wklejanie z IDE kopiuje też kolorowania składni). Np MS Teams (obecnie używam).

Tam gdzie to jest, to jak najbardziej lepiej kod wysłać ;)

8

Szczytna inicjatywa, tylko ze ludzie którzy wrzucają te obrazki w dupie mają przyklejone wątki czy komunikaty wyświetlane podczas pisania posta.

7

Skoro mamy Diabła Tasmańskiego do weryfikacji, czy kod jest sformatowany poprawnie, to teraz przydałby się Kojot, który wychwyci w grafice, czy przypadkiem nie ma na tym obrazku kodu :p

2

@MarekR22: Może warto by założyć nowy artykuł w dziale Forum dyskusyjne pt "Dlaczego nie należy zamieszczać kodu w postaci obrazków", podobne do np
Dlaczego nikt nie odpowiada w moim wątku?

1

Dziś na pewnym serwerze Discorda dot. programowania w C zauważyłem nowy poziom - wstawione zdjęcie kodu na monitorze, zrobione prawdopodobnie komórką.

1 użytkowników online, w tym zalogowanych: 0, gości: 1