Faits: Faits: A. Au printemps 1994, les époux A._, copropriétaires d'un bien-fonds sur le territoire de la commune de ..., ont décidé d'y construire une villa-chalet. Le permis ad hoc leur a été délivré le 4 juillet 1994 sur la base de plans établis par des architectes. Sieur A._, qui était déjà à la retraite et qui se prévalait du titre d'ingénieur conseil, bien qu'il n'eût point de diplôme correspondant, a dressé les plans d'exécution, rédigé les descriptifs des travaux pour les appels d'offres et assumé, dans un premier temps, la direction du chantier. Les travaux de terrassement, de béton armé et de maçonnerie, ainsi que les travaux se rapportant à la construction d'une canalisation pour les eaux usées ont été adjugés, sur la base de deux devis distincts, à la société en nom collectif X._. Des difficultés ont surgi entre les maîtres de l'ouvrage et l'entrepreneur, qui ont incité les premiers à confier la direction générale du chantier au bureau d'ingénieurs civils Y._ SA à la fin du mois de septembre 1994. La facture du bureau d'ingénieurs s'est élevée à 14'000 fr. Au cours de la réalisation du gros oeuvre, les parois des fouilles se sont effondrées. Il en est résulté un dommage estimé à 20'313 fr. 75 qui a été pris en charge, à concurrence de 13'662 fr. 50, par la compagnie d'assurances auprès de laquelle sieur A._ avait souscrit une police couvrant les dommages pouvant survenir lors de la construction de la villa-chalet. En outre, la dalle du toit du garage exécutée par X._ SNC présentait un défaut en ce sens qu'elle comportait une cuvette provoquant des retenues d'eau. Pour remédier à ce défaut, les maîtres de l'ouvrage ont mandaté l'entreprise Z._ SA qui a réalisé une chape de forme, destinée à combler la cuvette, et posé une étanchéité. Le 11 novembre 1994, à l'invitation des maîtres de l'ouvrage, le bureau d'ingénieurs civils Y._ SA a prié X._ SNC de quitter le chantier jusqu'au 14 du même mois. L'entreprise s'est exécutée le 15 novembre 1994. Le 6 février 1995, X._ SNC a adressé aux maîtres de l'ouvrage une facture récapitulative faisant ressortir un total brut de 157'549 fr. 15 en sa faveur et un solde de 38'626 fr. 75 à payer par les époux A._, une fois déduits les acomptes versés par ceux-ci et l'escompte accordé par l'entreprise. Ce solde a été ramené par la suite à 24'676 fr. 75 après un ultime versement de 13'950 fr. A la requête de X._ SNC, une hypothèque légale des artisans et entrepreneurs d'un montant de 24'676 fr. 75 a été inscrite provisoirement, le 14 février 1995, au registre foncier sur la parcelle appartenant aux époux A._. A la requête de X._ SNC, une hypothèque légale des artisans et entrepreneurs d'un montant de 24'676 fr. 75 a été inscrite provisoirement, le 14 février 1995, au registre foncier sur la parcelle appartenant aux époux A._. B. Le 31 octobre 1995, X._ SNC a ouvert action contre les époux A._ en vue d'obtenir le paiement de la somme précitée et des intérêts y afférents, ainsi que l'inscription définitive de l'hypothèque légale. Les défendeurs ont conclu principalement au rejet de la demande et, reconventionnellement, au paiement de 19'368 fr. 60, intérêts en sus. En cours d'instance, l'architecte B._ a été chargé de déterminer la valeur effective des travaux exécutés par la demanderesse et les moins-values résultant de divers défauts dont l'ouvrage livré était affecté. Se fondant pour l'essentiel sur les conclusions de l'expert judiciaire, la Cour civile du Tribunal cantonal du canton de Vaud, par jugement du 19 juin 2002, a condamné solidairement les défendeurs à payer à la demanderesse la somme de 10'759 fr. 30, avec intérêts à 5% l'an dès le 3 février 1995, et elle a ordonné l'inscription définitive de l'hypothèque légale des artisans et entrepreneurs à due concurrence. Toutes autres ou plus amples conclusions ont été rejetées par elle. Par arrêt du 26 février 2004, la Chambre des recours du Tribunal cantonal du canton de Vaud, saisie d'un recours en nullité formé par les défendeurs, a rejeté celui-ci et confirmé le jugement de la Cour civile. Par arrêt du 26 février 2004, la Chambre des recours du Tribunal cantonal du canton de Vaud, saisie d'un recours en nullité formé par les défendeurs, a rejeté celui-ci et confirmé le jugement de la Cour civile. C. Les défendeurs interjettent un recours en réforme au Tribunal fédéral. Ils concluent à la modification du jugement de la Cour civile en ce sens que la demanderesse doit être condamnée à leur payer la somme de 7'727 fr. 25, avec intérêts à 5% l'an dès le 29 mars 1996, que la requête visant à l'inscription d'une hypothèque légale doit être écartée et que le point du dispositif du jugement relatif aux dépens cantonaux doit être rectifié en conséquence. A titre subsidiaire, les défendeurs sollicitent le renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. La demanderesse propose le rejet du recours.