Ipari zen

Szak-irodalom. A fejlesztő jajszava haikuban. A technika ördöge avagy a lelketlen vasban a mélyen emberi.

A szoftverfejlesztés művészete és a zen


2010.01.03. 15:11 Ipari zen

Null pointer exception

Címkék: copy pointer constructor null exception smart pointer

Kincs ami nincs a
longint, ha pointered
semmibe mutat.

Egy nagy C++ modulban a memóriahatékonyság miatt pointereket is szép számmal tartalmazó kisebb objektumot küldözgettünk át egy csomó feldolgozó osztályon. Közben persze elkövettük az ilyenkor lehetséges összes hibát:

  • megjegyeztük a stacken létrehozott változó címét
  • nem készítettünk a copy konstruktort az osztályhoz, aztán mégis másolgattuk az objetumokat
  • nem inicializáltuk a pointereket, aztán használtuk őket
  • tesztelés nélkül használtuk a null-pointereket éles bevetésen

és még számtalan egyebet is, mert ugye végtelen a pointerekkel összefüggő hibák tárháza. Mikor már elviselhetetlenné nőttek a karbantartási költségek egy nagyobb lélegzetvételű újraírás következett. Hosszabb tanakodás után persze egy referenciaszámláláson alapuló smart-pointer rendszer lett a befutó és azóta is szolgál mindenki megelégedésére. Messze behozta már a ráfordított költségeket.

2 komment