White space

A white space vagy whitespace angol szóösszetétel, jelentése fehér szóköz vagy üres hely. Az informatikában, elsősorban a programozásban és szövegszerkesztésben használatos kifejezés: alapvetően azokat a karaktereket értjük alatta, amelyek nem láthatóak a szövegben, viszont valamilyen egyedi funkcióval bírnak.

Eredete

A régi ASCII-beli 7 bites kódolásban az első 32 karakter vezérlőkaraktereket jelölt, amelyekkel például nyomtatókat, lemezkezelést lehetett vezérelni. Ezek nagy része a mai modern eszközök esetén már nem bír fontos jelentéssel a 8 bites, UTF-8, Unicode karakterkészletek esetén. Ez alól kivételek például épp a white space karakterek.

A white space karakterek

Szövegszerkesztés

Bármilyen szövegszerkesztő programot is használjuk – akár a legprimitívebbeket, mint a DOS Edit-jét, vagy akár dokumentumszerkesztőket, mint a LibreOffice, az OpenOffice.org vagy a Microsoft Office Word –, mindenhol white space-ekkel tudjuk tagolni szövegeinket.

Szavak elválasztására a space, azaz szóköz való, amely egy karakter hosszúságú üres hely. A tabulátorok többnyire beállított mennyiségű szóközt jelentenek. Új bekezdés kezdéséhez használjuk az Entert. Az egyszerűbb szerkesztők, mint a Jegyzettömb, nem különböztetik meg az Új sort az Új bekezdéstől. Ezzel szemben a MS Word, illetve az OpenOffice szövegszerkesztője lehetőséget ad arra, hogy egy bekezdésen belül is kezdhessünk új sort. Ez a Shift + Enter billentyűkombinációval lehetséges.

White space-ek a programozásban

A white space-eknek kettős szerepe van a programozásban:

Pl. nézhet így is ki egy programrészlet:

select * from fkkvkp 
where vkont = gt_vkont.
loop at gt_vkont.
if gt_vkont-vkont(1) eq ’K’.
CALL FUNCTION ’ISU_ADDRESS_PROVIDE’
EXPORTING
BNAME = gt_vkont-vkont.
endif.
endloop.

Ez a kód teljesen áttekinthetetlen, pedig csak 9 sor. Képzeljük el ugyanezt több száz soros programnál.

Azonban ugyanez white space-ekkel tagolva:

  SELECT * FROM fkkvkp
           WHERE vkont = gt_vkont.
  LOOP AT gt_vkont.
    IF gt_vkont-vkont(1) EQ ’k’.
      CALL FUNCTION ’isu_address_provide’
           EXPORTING
                bname = gt_vkont-vkont.
    ENDIF.
  ENDLOOP.

Könnyen áttekinthető: ránézésre látni lehet, melyik utasítás melyikbe van beágyazva.

A programozási nyelvek többnyire figyelmen kívül hagyják az egymást közvetlenül követő white space-eket. Például ha 12 szóköz van közvetlenül egymás után, az ugyanazt jelenti a fordító vagy értelmező számára, mint ha csak egy lenne.

Egyes fejlesztői környezetek még automatikus strukturálás funkcióval is fel vannak szerelve. A Java – NetBeans -ben például ilyen lehetőség a Code Reformat, illetve az ABAP Workbench-ben a Pretty Printer.

Jegyzetek

További információk