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
[szerkesztés]A régi ASCII-beli 7 bites kódolásban az első 32 karakter vezérlőkaraktereket jelölt,[1] 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
[szerkesztés]- Szóköz (angolul space)
- Tabulátor
- Vertikális tabulátor
- Új sor (angolul new line v. nl)
- Enter karakter – operációs rendszertől függően a jelölése:
- DOS/Windows alatt: két white space karakterrel jelöljük: a <CR>, azaz angolul Carriage Return (magyarul kocsi vissza) és az <LF>, angolul Line Feed vagyis soremelés.
- Unix alatt: csak <LF>
- Macintosh (Mac OS 9-ig) alatt: csak <CR>
Szövegszerkesztés
[szerkeszté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
[szerkesztés]A white space-eknek kettős szerepe van a programozásban:
- egyrészt a szintaktikai szabályok betartása végett alkalmazzuk őket,
- másrészt a kód áttekinthetősége, strukturálása érdekében.
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.